从动态创建的文本字段中回发值[ASP.net]

时间:2015-06-23 08:33:24

标签: javascript c# jquery asp.net postback

在我的网页上我有一个按钮,按钮旁边有一个我动态创建的输入类型='文本'文本框(所以我不能使用runat =“server”

我不想将用户在输入框中输入的内容发回服务器。

这就是我所做的:

<asp:LinkButton id="xx" OnClick="xx" runat="server">

另一个按钮

<button onclick="some_js_function()">

动态生成的文本框

另一个

<aspx:HiddenField>

这是发生的事情: 隐藏了aspx按钮,当用户单击其他按钮时,调用js函数并从javascript文本框中复制隐藏字段框中的值,然后单击(jQuery .click())aspx隐藏按钮。

在谷歌Chrome控制台中,我可以看到回发正在发生,并且成功复制了值,但是从未调用隐藏在aspx按钮中的onclick的服务器端函数。

这可能不是最好的方法..

如果有人有更好的想法或解决方法,我会很高兴:)

1 个答案:

答案 0 :(得分:0)

form标记中的每个元素,如果手动或动态添加,都会回发到服务器。

手动添加输入,例如:<asp:TextBox runat="server" id="txtBox"></asp:TextBox>可以使用以下方法直接调用到后端:

SET Text:

this.txtBox.Text = "Some Text";

获取文字:

string valueBox = this.txtBox.Text;

需要为动态添加的控件分配idname属性。例如:

<input type="text" id="txtBox" name="txtBox" />

然后在后端,您可以使用Request.Form获取文本框的值:

string valueBox = Request.Form["txtBox"].ToString();