繁体   English   中英

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

[英]Post-back a value from text field that dynamically created [ASP.net]

在我的网页中,我有一个按钮,按钮旁边有一个我动态创建的 input type='text' 文本框(所以我不能使用 runat="server"

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

这是我所做的:

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

还有一个按钮

<button onclick="some_js_function()">

以及动态生成的文本框

还有一个

<aspx:HiddenField>

这就是发生的事情:aspx 按钮是隐藏的,当用户单击另一个按钮时,将调用 js 函数并将值从 javascript 文本框复制到隐藏字段框,然后单击 (jQuery .click() ) aspx 隐藏按钮.

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

这可能不是最好的方法来做到这一点..

如果有人有更好的主意或解决此问题的方法,我会很高兴:)

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

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

设置文本:

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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM