前台如何访问后台数据?

立早家饰 2007-05-21 12:28:00
前台:
<script language="javascript" type="text/javascript">
function SearchData()
{
//显示后台获得的数据
var ds=Search().value; //利用Ajax,调用后台函数获得DataSet
....
return false;
}
</script>

<asp:button id="btnSearch" CssClass="Button" Runat="server" Text="btnSearch" onclick="btnSearch_Click" OnClientClick="return SearchData();"></asp:button>

后台:
[Ajax.AjaxMethod()]
Public DataSet Search()
{
//查询数据库,获得DataSet,查询时会用到其它控件属性
//但是,程序运行到这里的时候完全得不到数据
//例如:用到控件this.Textbox1.Text,但this.Textbox1=null
//用到基类的某个属性时,也是为空null。
//有那位大虾能能帮帮忙吗?
}
...全文
378 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
立早家饰 2007-05-22
  • 打赏
  • 举报
回复
上面的代码可以实现我要的效果,但是这个项目的要求是不能把数据访问的代码写在类userinfosearch中!也就是说,类userinfosearch中的SearchData函数只能调用其它类(业务逻辑层、数据访问层)的方法。我试了下,发现在SearchData中没办法访问其它类的对象,都是= null。
我刚接触Ajax没几天,希望有人能指点下我该怎么做,Ajax的书我也开始看,但时间实在紧迫,希望能尽快解决。谢谢!
立早家饰 2007-05-22
  • 打赏
  • 举报
回复
前台:
<script language="javascript" type="text/javascript">
function SearchData()
{
var sUserCode=document.getElementById("<%=tbUsrCde.ClientID %>").value;
var sUserName=document.getElementById("<%=tbUsrNm.ClientID %>").value;

userinfosearch.SearchData(sUserCode,sUserName,SearchData_CallBack);

return false;
}

function SearchData_CallBack(response)
{
if (response != null)
{
var ds=response.value; //ds is a DataSet
//利用ds填充表格UltraWebGrid,已达到无刷新页面更新表格
}
}
</script>
...
<asp:button id="btnSearch" CssClass="Button" Runat="server" Text="btnSearch" onclick="btnSearch_Click" OnClientClick="return SearchData();"></asp:button>

后台:
public class userinfosearch : ParentPage
{
[Ajax.AjaxMethod()]
public DataSet SearchData(string sUserCode,string sUserName)
{
SqlConnection sqlConn = new SqlConnection ("连接串");
sqlConn.Open();
DataSet ds = new DataSet();
string sql = "Select * From TB_Usr Where UsrCde like '%" + sUserCode + "%' and UsrNm like '%" + sUserName + "%'";
SqlDataAdapter da = new SqlDataAdapter(sql, sqlConn);
da.Fill(ds, "UserInfoSearch");
DataTable UserInfoSearch;
UserInfoSearch = ds.Tables["UserInfoSearch"];
sqlConn.Close();
return ds;
}
}
hy_lihuan 2007-05-22
  • 打赏
  • 举报
回复
呵呵,基本的ajax好好看看吧
jhtchina 2007-05-22
  • 打赏
  • 举报
回复
学习
jhtchina 2007-05-22
  • 打赏
  • 举报
回复
Mark
慢慢学习
yixianggao 2007-05-21
  • 打赏
  • 举报
回复
当然,Ajax 回发时仅提交 注册方法的参数,并不提交页面!!!

LZ 的 Search() 却没有任何参数!

建议这么做 Search(txtUserName.value, ...) 当然 Server 端也要同步修改,而且还要有回调函数处理返回值!

LZ 的代码差的太远,还是先看看基础知识吧!
woneinwy 2007-05-21
  • 打赏
  • 举报
回复
既然用Ajax,就去学学Ajax吧

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧