【发布时间】:2011-08-01 10:39:36
【问题描述】:
请帮助我使用 json 对象从代码后面调用非静态方法。
aspx页面使用如下代码:
function columnDropdownScript() {
if (id == "ExpressionsLink") {
var dropdown = document.getElementById("<%=ddlTableNames.ClientID%>");
}
/
/ Configure AJAX call to server on itemChange of ddlTableNames
$.ajax({
type: "POST",
url: "Webtop.aspx/FillColumnDropdown",
data: requestTableParameters,
//contentType: "plain/text",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
if (id == "ExpressionsLink") {
$("#ddlColumnNames").empty();
}
}
// alert('Check Column DropDown' + msg.d.length);
},
error: DisplayError //Event that'll be fired on Error
});
}
以下代码写在aspx.cs页面中
[WebMethod]
public static List<string> FillColumnDropdown(string selTableName)
{
//Code to update Selected Columns in table
}
【问题讨论】:
-
据我了解,您想使用页面上下文 - 其不可能的 cos 页面生命周期未执行,并且 ajax-call 立即传递给此 webmethod。
-
如果你想访问非静态页面的成员,你必须引起回发(同步或异步)。对于对非静态成员的异步调用,请使用 ASP.NET Ajax。
-
@OneHalfTrackMindMan 您能否发布一个示例代码,说明如何使用 ajax 使其成为可能?
-
使用 ASP.NET Ajax 最简单的方法是将 ScriptManager 添加到页面上,并通过 UpdatePanel 将要异步使用的控件包装起来。
-
@OneHalfTrackMindMan:用 javascript 不可能吗?
标签: c# javascript asp.net json