我正在尝试从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

09-30 16:19
查看更多