如何从客户端调用代码隐藏功能?
// Code-behind function:
public void CodeBehindFunction(int i)
{
...
}
我想从客户端调用它...
// Client-side call:
$(this). ??
答案 0 :(得分:0)
正确地说,您的意思是希望从客户端代码调用服务器端例程...
我建议您使用JavaScript强制回发:__doPostback('CodeBehindFunction',iParameter);
- 然后在服务器端代码的Page Init事件中,通过类似的东西捕获此自定义回发。
if (Request.Params["__EVENTTARGET"] == "CodeBehindFunction")
{
int i;
// Try to convert the argument (in the example this is the value of iParameter)
if (int.TryParse(Request.Params("__EVENTARGUMENT"),out i)
{
CodeBehindFunction(i);
}
}
或者使用通过jQuery.ajax调用的WebService。
答案 1 :(得分:0)
您可以使用ajax来调用CodeBehindFunction(int i) 但你必须将方法标记为webmethod和static:
[WebMethod]
public static void CodeBehindFunction(int i)
{
...
}
然后从js
调用它$.ajax({
type: "POST",
url: "/yourPage.aspx/CodeBehindFunction",
data: "{'i':'"+num+"'}", //PUT DATA HERE
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
}
})
** yourPage.aspx是声明CodeBehindFunction方法的页面