试图从后面的C#代码中使用公共属性,并希望从JavaScript函数中读取变量值
JavaScript函数:
function IsAgentInProgram()
{
var optStatus = "<%=AgentOptInStatus%>";
if (optStatus == "True")
alert("You are opted in!");
else
alert ("You are opted OUT");
}
C#代码后面
public bool AgentOptInStatus;
private void Page_Load(object sender, System.EventArgs e)
{
this.AgentOptInStatus = true;
}
这不起作用。输出返回为You are opted OUT
。我还对optStatus
发出了警报,并返回:"<%=AgentOptInStatus%>"
我想念什么吗?
答案 0 :(得分:1)
您不能直接在后面的代码中读取客户端变量。您可以做的是创建一个隐藏字段并使用javascript设置值,然后可以在c#中读取它。
<asp:HiddenField ID="hdnfldVariable" runat="server" />
JS:
<script type="text/javascript">
var somefunction = function () {
var hdnfldVariable = document.getElementById('hdnfldVariable');
hdnfldVariable.value = 'value from javascript';
}
</script>
c#:
string selected = hdnfldVariable.Value.ToString();
另一种选择是向服务器发出HTTP请求,以从传递数据作为参数的控制器中调用函数。