获取文本框文本,javascript已更改

时间:2013-06-25 21:59:53

标签: jquery asp.net performance textbox code-behind

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

但是,当我想让代码背后的代码时,它什么都没检索。 这是因为服务器textboxcontrol没有改变它的状态或信息。(我知道问题,而不是解决方案)

问题是,如何在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 ""

2 个答案:

答案 0 :(得分:2)

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

使用ID创建隐藏字段(在此示例中,ID为hiddenTest):

JS:

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

您现在应该可以访问后面代码中的隐藏字段,它应该具有正确的值。

答案 1 :(得分:1)

asp.net的呈现ID与您使用编码的ID不同,您可以使用.ClientID获取它:

$('#<%=tbxExample.ClientID%>').val("Test");