Как передать переменную из jquery в код позади (C #)? - PullRequest
0 голосов
/ 09 августа 2011

Вот мой код, но он не работает (код получает пустую строку): `

<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 ]

1 голос
/ 09 августа 2011

Вашему тегу <input> требуется атрибут имени, иначе он не будет опубликован.

1 голос
/ 09 августа 2011

В вашем коде было несколько проблем.Скобки отсутствовали при вызове функции f в onClientClick, и если элемент имеет идентификатор, вы можете просто использовать идентификатор, чтобы выбрать его с помощью #

<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>
0 голосов
/ 09 августа 2011

Ответ Шона Макмиллана верный, но я думаю, вам также нужно изменить это:

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

до

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