从动态添加的文本框中获取值asp.net c#
发布时间:2020-05-28 11:18:00 所属栏目:asp.Net 来源:互联网
导读:正如我所拥有的标题所示,我可以在其中插入我想要添加到占位符的文本框的数量.我可以添加文本框就好了问题是我无法在动态添加的文本框中插入值.这是我的代码 这段代码的目的是每当我可以在其中引入我想要的文本框数量的文本框.它会创建并将它们添加到我页面中
|
正如我所拥有的标题所示,我可以在其中插入我想要添加到占位符的文本框的数量.我可以添加文本框就好了问题是我无法在动态添加的文本框中插入值.这是我的代码 这段代码的目的是每当我可以在其中引入我想要的文本框数量的文本框.它会创建并将它们添加到我页面中的占位符中. public void txtExtra_TextChanged(object sender,EventArgs e)
{
for (a = 1; a <= int.Parse(txtExtra.Text); a++)
{
TextBox txt = new TextBox();
txt.ID = "txtquestion" + a;
pholder.Controls.Add(txt);
}
}
这是将提交和响应的按钮的代码.写入插入所有这些文本框中的值. protected void btnConfirm_Click(object sender,EventArgs e)
{
foreach (Control ctr in pholder.Controls)
{
if (ctr is TextBox)
{
string value = ((TextBox)ctr).Text;
Response.Write(value);
}
}
}
我一直在网上搜索,我一直在得到这个代码很好的答案,它应该工作,但它没有.如果你们看到任何错误或有任何可以解决我的问题的建议,我真的很感激 解决方法你快到了.问题 您需要在回发时重新加载那些动态创建的文本框.否则,它们将变为null,您将无法找到它. 为此,您需要将动态TextBoxes ID保存在持久位置,例如View State或Session State. 屏幕截图 ASPX Number of TextBoxes: <asp:TextBox runat="server" ID="CounterTextBox"
OnTextChanged="CounterTextBox_TextChanged" AutoPostBack="True" /><br/>
<asp:PlaceHolder runat="server" ID="TextBoxPlaceHolder" /><br/>
<asp:Button runat="server" ID="ConfirmButton" Text="Confirm"
OnClick="ConfirmButton_Click" /><br/>
Result: <asp:Literal runat="server" ID="ResultLiteral"/>
代码背后 private List<string> TextBoxIdCollection
{
get
{
var collection = ViewState["TextBoxIdCollection"] as List<string>;
return collection ?? new List<string>();
}
set { ViewState["TextBoxIdCollection"] = value; }
}
protected void Page_Load(object sender,EventArgs e)
{
foreach (string textboxId in TextBoxIdCollection)
{
var textbox = new TextBox {ID = textboxId};
TextBoxPlaceHolder.Controls.Add(textbox);
}
}
protected void CounterTextBox_TextChanged(object sender,EventArgs e)
{
var collection = new List<string>();
int total;
if (Int32.TryParse(CounterTextBox.Text,out total))
{
for (int i = 1; i <= total; i++)
{
var textbox = new TextBox { ID = "QuestionTextBox" + i };
// Collect this textbox id
collection.Add(textbox.ID);
TextBoxPlaceHolder.Controls.Add(textbox);
}
TextBoxIdCollection= collection;
}
}
protected void ConfirmButton_Click(object sender,EventArgs e)
{
foreach (Control ctr in TextBoxPlaceHolder.Controls)
{
if (ctr is TextBox)
{
string value = ((TextBox)ctr).Text;
ResultLiteral.Text += value;
}
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 问题在ASP.NET 5(Core)中添加对类库项目的引用
- log4net在ASP.NET中的唯一请求ID
- asp.net-mvc – 使用asp.net mvc操作过滤器的奇怪行为Attri
- asp.net-mvc – 如何使用编辑器内部的foreach
- asp.net – 生产网络服务器上的间歇性高CPU(100%)
- asp.net-mvc-3 – ASP.Net MVC 3:在html.DropDownListFor中
- asp.net-core – 如何在.NET Core中构建和运行时禁用浏览器
- .net – 通过互联网向YH收取的最简单的方法是什么?
- 我可以在Razor中使用@helper语法返回一个字符串吗?
- ASP.Net中的会话超时设置
推荐文章
站长推荐
- .net – 我应该在HttpCookie.Expires和HttpCache
- entity-framework – 如果EF 5,如何定义自定义命
- Asp.net 文件上传类(取得文件后缀名,保存文件,加
- asp.net-core – 需要dotnet core 2.1才能在visu
- asp.net-mvc – 可以浏览DataAnnotations的自定义
- asp.net-mvc – Kendo ASP.NET MVC – 索引超出范
- asp.net-mvc – MVC 5继承的脚手架使用错误的实体
- ASP.NET标签控件 – 不编码HTML
- asp.net-mvc-routing – 在MVC 6控制器中使用url
- asp.net-web-api – 自定义身份验证asp.net核心w
热点阅读
