我正在尝试从JavaScript代码中调用方法后面的代码。
这可以正常工作,但是我不确定如何将JavaScript参数传递给该方法。如果我在括号之间放置任何值,则它将作为CodeBehind上下文而不是脚本上下文相关。传递此参数的解决方案是什么?
JavaScript:
var arg = this.id
<% setSelection(arg); %>
C#:
[WebMethod]
public void setSelection(string productID)
{
Session["selection"] = productID
}
我当然会收到此错误:
CS0103:名称“ arg”在当前上下文中不存在
最佳答案
您的setSelection(arg)
调用不是从JavaScript调用代码。在HTML响应甚至没有输出到浏览器之前,即在执行JavaScript之前,就在服务器端被调用。同样,arg
也被视为C#变量。
如果要通过JavaScript进行调用,则需要使用AJAX。请参见this example。