最近我用AJAX.NET来做点东西,以前从没用过AJAX的,可是一用上来,请求服务端返回的DATASET时,却总是返回为空值,以下是我的一段测试代码,返回为空,可是我把DATASet在服务端绑定到DATAGrid中,却是有值的,请问是什么原因?期待高手:
服务端代码:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Ajax.Utility.RegisterTypeForAjax(typeof(index));
Ajax.Utility.RegisterTypeForAjax(typeof(DataSet));
} [Ajax.AjaxMethod()]
public static DataSet GetData(string s)
{
System.Data.OleDb.OleDbConnection scn_Conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("Data/#169ol.aline.mdb"));
System.Data.DataSet ds_Ajax = new System.Data.DataSet();
scn_Conn.Open();
System.Data.OleDb.OleDbDataAdapter oda_Ajax = new OleDbDataAdapter("select Id from movieurl order by Id",scn_Conn);
oda_Ajax.Fill(ds_Ajax);
return ds_Ajax;
}
客户端测试代码:
function getDataSet(){
var res = index.GetData("sss",GetData_callback);
//alert(res.Rows.length);
}
function GetData_callback(response)
{
//var res = .value;
alert(response.value.Tables[0].Name);
}
客户端调用GetData函数时,总是会出现value.Tables为空,或不是对像,直接用alert输出response.value时显示"Null"。
其它的数据类型都可以,就DataSet和DataTable不行,高手帮帮忙,小弟分也不多,但有一颗最真诚的感谢之心!!!
服务端代码:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Ajax.Utility.RegisterTypeForAjax(typeof(index));
Ajax.Utility.RegisterTypeForAjax(typeof(DataSet));
} [Ajax.AjaxMethod()]
public static DataSet GetData(string s)
{
System.Data.OleDb.OleDbConnection scn_Conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("Data/#169ol.aline.mdb"));
System.Data.DataSet ds_Ajax = new System.Data.DataSet();
scn_Conn.Open();
System.Data.OleDb.OleDbDataAdapter oda_Ajax = new OleDbDataAdapter("select Id from movieurl order by Id",scn_Conn);
oda_Ajax.Fill(ds_Ajax);
return ds_Ajax;
}
客户端测试代码:
function getDataSet(){
var res = index.GetData("sss",GetData_callback);
//alert(res.Rows.length);
}
function GetData_callback(response)
{
//var res = .value;
alert(response.value.Tables[0].Name);
}
客户端调用GetData函数时,总是会出现value.Tables为空,或不是对像,直接用alert输出response.value时显示"Null"。
其它的数据类型都可以,就DataSet和DataTable不行,高手帮帮忙,小弟分也不多,但有一颗最真诚的感谢之心!!!
解决方案 »
- 索引超出范围,必须为非负值并小于集合大小 关键字index 怎么办?
- 关于黑冰防火墙
- 关于数据更新,textbox类型转换成string或integer类型,恳请帮忙
- 在自定义控件中使用JS设置一个控件的值,但是在页面中多次使用到了该控件
- 访问被拒绝:“Interop.ADODB”
- 如何暂停.net网站?
- 明天五一,大家节日快乐。散分50,顺便问个问题!!!
- 如何在webpartzone中动态添加用户控件
- 简单问题,asp.net自带的文件上传使用smtp协议吗?谢
- 奇怪奇观:我用Panel包含一个Repeater控件后,再打开这个设计页面,就引起VS.Net当机!这是怎么回事?
- VB.NET执行结果返回什么类型比较好?
- 请教大家一个关于“浏览并添加附件的问题”,谢谢!
去掉试试吧。
还有var res = index.GetData("sss",GetData_callback);
把前面的var res=也不要。直接index.GetData("sss",GetData_callback);
Ajax.Utility.RegisterTypeForAjax(typeof(index));不明白,你為何有兩條。2、不要返回DataSet,而是返回DataTable。3、public static DataSet GetData(string s)不要用靜態函數,改成:public DataTable GetData(string S)