如何将变量从jquery传递给代码(C#)?

时间:2011-08-09 14:29:47

标签: c# jquery asp.net variables code-behind

这是我的代码,但它不起作用(后面的代码变为空字符串): `

<head id="Head1" runat="server">
<title>Pass Javascript Variables to Server</title>
     <script type="text/javascript">             // Second Step
         function f() {
             $("[id$='inpHide']").val("My JavaScript Value");

         }
    </script>
</head>

<body onload="SetHiddenVariable()">
    <form id="form1" runat="server">
    <div>  
        <input id="inpHide" type="hidden" runat="server" />  
        <asp:Button ID="btnJSValue" Text="Click" runat="server" OnClientClick="f"/>
        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
    </div>
    </form>
</body>

`

3 个答案:

答案 0 :(得分:1)

您的代码中存在几个问题。在f中调用onClientClick函数时缺少括号,如果元素有id,则可以使用id来#选择它

<head id="Head1" runat="server">
<title>Pass Javascript Variables to Server</title>
     <script type="text/javascript">             // Second Step
         function f() {
             $("input[id*='inpHide']").val("My JavaScript Value");
         }
    </script>
</head>

<body>
    <form id="form1" runat="server">
    <div>  
        <input id="inpHide" type="hidden" runat="server" />  
        <asp:Button ID="btnJSValue" Text="Click" runat="server" OnClientClick="f()"/>
        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
    </div>
    </form>
</body>

答案 1 :(得分:1)

您的<input>代码需要名称属性,否则不会发布。

答案 2 :(得分:0)

Sean McMillan的回答是正确的,但我认为你还需要改变这个:

<asp:Button ID="btnJSValue" Text="Click" runat="server" OnClientClick="f"/>

<asp:Button ID="btnJSValue" Text="Click" runat="server" OnClientClick="f();"/>