Javascript从后面的C#代码读取公共变量

时间:2019-02-12 13:00:03

标签: javascript c#

试图从后面的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%>"

我想念什么吗?

1 个答案:

答案 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请求,以从传递数据作为参数的控制器中调用函数。