如何获取动态添加的文本框值(值)?

时间:2018-10-23 06:33:29

标签: c# asp.net controls

页面加载时我有一个空的文本框,使用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 =

1 个答案:

答案 0 :(得分:1)

类似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 Property

TextBox.ReadOnly Property