我正在尝试从JavaScript代码调用代码隐藏方法。 这工作正常,但我不知道如何将JavaScript参数传递给该方法。如果我在括号之间放置任何值,它将作为CodeBehind上下文而不是脚本上下文。传递此参数的解决方案是什么?
JavaScript的:
var arg = this.id
<% setSelection(arg); %>
C#:
[WebMethod]
public void setSelection(string productID)
{
Session["selection"] = productID
}
我当然得到这个错误: CS0103:当前上下文中不存在名称“arg”
答案 0 :(得分:2)
您的setSelection(arg)
来电并未调用JavaScript背后的代码。在HTML响应甚至输出到浏览器之前,它在JavaScript执行之前被调用。此外,arg
被视为C#变量。
如果您想通过JavaScript进行调用,则需要使用AJAX。请参阅this example。