This question already has answers here:
Set value of textarea in jQuery

(25个答案)


6年前关闭。




我有一个文本框,可以根据DropDownList中选择的内容来更改值。
到目前为止,一切都很好。

但是,当我想让该文本作为代码背后的代码时,什么也找不到。
这是因为服务器文本框控件尚未更改其状态或其中的信息。(我知道问题所在,而不是解决方案)

问题是,我如何在codebehind中获取使用javascript更新的文本?
(我将在下面提交一个代码示例)
(注意:这不是我的代码,只是一个简化的示例)

<asp:Panel ID="AnswerPanel" runat="server" >
   <asp:TextBox ID="tbxExample" runat="server" ></asp:TextBox>
</asp:Panel>
<asp:Button ID="btnSend" onClientClick="Example" runat="server" Text="Send" />


jQuery:

function Example{
    $('#tbxExample').val("Test");
}


代码背后

string ex = tbxExample.Text; // I want it to say "Test", but it comes out as ""

最佳答案

您可以使用ASP.NET隐藏字段对此稍作修改。您可以创建一个JS变量来存储隐藏字段,分配值,然后在服务器端提取该值:

创建一个具有ID的隐藏字段(在本示例中,该ID为hiddenTest):

JS:

$hiddenField = $("#<%= hiddenTest.ClientID %>");
$('#<%=tbxExample.ClientID%>').blur(function() {
    $hiddenField.val(this.value);
});


现在,您应该能够在后面的代码中访问该隐藏字段,并且该字段应具有正确的值。

10-06 04:39
查看更多