我试图动态添加文本框点击按钮。下面是我的密码。我可以添加一个文本框,但是在完成所有代码后添加下一个文本框时,会抛出UnHandled exception。我不知道它是从哪里扔出来的。
protected override void LoadViewState(object savedState)
{
base.LoadViewState(savedState);
controlidlist = (List<string>)ViewState["controlidlist"];
if(controlidlist != null)
{
foreach (string Id in controlidlist)
{
i++;
TextBox tb = new TextBox();
tb.ID = Id;
System.Web.UI.LiteralControl lineBreak = new System.Web.UI.LiteralControl();
UpdatePanel1.ContentTemplateContainer.Controls.Add(tb);
UpdatePanel1.ContentTemplateContainer.Controls.Add(lineBreak);
}
}
else
{
controlidlist = new List<string>();
}
}ButtonClick事件:
protected void Button_Click1(object sender, EventArgs e)
{
try
{
i++;
TextBox tB = new TextBox();
tB.ID = "textBox_" + i;
System.Web.UI.LiteralControl lineBreak = new System.Web.UI.LiteralControl("<br>");
UpdatePanel1.ContentTemplateContainer.Controls.Add(tb);
UpdatePanel1.ContentTemplateContainer.Controls.Add(lineBreak);
ViewState["controlidlist"] = controlidlist;
controlidlist.Add(tb.ID);
UpdatePanel1.DataBind();
}
catch(Exception ex)
{ }
}在完全执行上面的代码之后,在Global.asax中抛出异常。
错误:
{“引发了'System.Web.HttpUnhandledException‘类型的异常。”}
global.asax
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
Exception exception = Server.GetLastError() as HttpUnhandledException;
if (exception != null && exception.InnerException is ProductNotFoundException)
{
}
}这可能很简单,但我对这个非常陌生
发布于 2016-10-13 11:53:44
您可以尝试在下面的代码中添加带换行的动态TextBox:
TextBox t = new TextBox();
t.ID = "textBox_" + i;
ViewState["controlidlist"] = controlidlist;
controlidlist.Add(tb.ID);
UpdatePanel1.ContentTemplateContainer.Controls.Add(t);
Literal lit = new Literal() { Mode=LiteralMode.PassThrough, Text="<br/>" };
UpdatePanel1.ContentTemplateContainer.Controls.Add(lit);希望它能解决你的问题。
谢谢
https://stackoverflow.com/questions/40018490
复制相似问题