1

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

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

问题是,如何在代码隐藏中获取使用 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" />

查询:

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

代码隐藏

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

2 回答 2

2

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

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

JS:

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

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

于 2013-06-25T22:28:59.003 回答
1

asp.net 的渲染 id 与您使用编码的不同,您可以使用.ClientIDas 获取它:

$('#<%=tbxExample.ClientID%>').val("Test");
于 2013-06-25T22:17:19.213 回答