代码之家  ›  专栏  ›  技术社区  ›  RA19

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

  •  1
  • RA19  · 技术社区  · 6 年前

    尝试使用后面的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 回复  |  直到 6 年前
        1
  •  1
  •   Albondi    6 年前

    不能直接在代码隐藏中读取客户端变量。您所能做的就是创建一个隐藏字段并用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请求,从将数据作为参数传递的控制器调用函数。