TextBox t1 = new TextBox();
t1.Text="123";
qwe2.controls.AddControl(t1);
我动态地将文本框添加到qwe2 qwe2只是一个小组
<asp:panel ID="qwe2" runat="server"></asp:panel>
然后在button_submit上有一个函数
public void button_click(object sender, EventArgs e)
{ var x = t1.Text; }
但是t1.text
为什么是空的?以及如何获得价值;
答案 0 :(得分:2)
当您动态添加控件时,您必须在所有回发中添加文本框
public void page_load(object sender, EventArgs e)
{
if(!ispostback)
{
}
TextBox t1 = new TextBox();t1.Text="123";
t1.ID ="txtDynamic";
qwe2.controls.AddControl(t1);
}
public void button_click(object sender, EventArgs e)
{
TextBox t1 = (TextBox)qwe2.FindControl("txtDynamic");
var x = t1.Text
}
答案 1 :(得分:1)
请记住,当您创建动态控件时,在页面后面,这些控件将从页面中删除。为了访问这些动态控件,请使用客户端脚本,如javascript,jquery。
在您的示例中,单击客户端上的按钮。
//server side
TextBox t1 = new TextBox();
t1.Text="123";
t1.ID ="txtDynamic";
qwe2.controls.AddControl(t1);
//client side
<asp:button id="button" runat="server" text="click" onClientClick="return callme();" />
<script>
function callme()
{
var textvalue = document.getElementByID('#txtDynamic').value;
}
</script>
感谢。
答案 2 :(得分:0)
试试这个:
创建按钮并为其提供ID
TextBox t1 = new TextBox();t1.Text="123";
t1.ID ="txtDynamic";
qwe2.controls.AddControl(t1);
点击按钮
public void button_click(object sender, EventArgs e)
{
TextBox t1 = (TextBox)qwe2.FindControl("txtDynamic");
var x = t1.Text
}
答案 3 :(得分:0)
我认为您可能需要在文本框中添加ID,然后执行textBoxId.Text;