首页 > 解决方案 > 如何获取动态添加(值)的文本框值?

问题描述

我在页面加载时有一个空文本框,使用 jquery 我将向该文本框添加文本。

现在我想在发生按钮单击功能时检索服务器端的文本

代码

<asp:TextBox ID="txtPaths" runat="server" Width="550px" Height="19px" CssClass="txtPathClass" Enabled="False" Text=""></asp:TextBox>

jQuery

$('#ContentPlaceHolder1_txtPaths').val("Testing");

服务器代码

protected void btnUpload_Click1(object sender, EventArgs e)
{
    string txtPathss = txtPaths.Text;
    Debug.writeline("txtPathss = "+txtPaths.Text);
}

笔记

问题是我无法获得价值的txtPaths.text价值

它像打印一样

txtPathss =

标签: c#asp.netcontrols

解决方案


听起来像是Enabled="False"在表单提交期间阻止插入文本框值,因为它向disabled="disabled"文本框添加了属性(请参阅下面的参考资料)。您应该ReadOnly="True"通过更改此设置来使用设置:

<asp:TextBox ID="txtPaths" runat="server" Width="550px" Height="19px" CssClass="txtPathClass" Enabled="false" Text=""></asp:TextBox>

对此:

<asp:TextBox ID="txtPaths" runat="server" Width="550px" Height="19px" CssClass="txtPathClass" AutoPostBack="true" ReadOnly="true" Text=""></asp:TextBox>

通过使用readonly属性,客户端用户无法编辑输入,但在表单提交期间其值仍然可用。

笔记:

除了设置ReadOnly阻止用户输入之外,您还应该通过设置来启用回发AutoPostBack="true"

参考:

WebControl.Enabled 属性

TextBox.ReadOnly 属性


推荐阅读