我正在尝试动态添加按钮的文本框。以下是我的代码。我可以添加一个文本框,但在完成所有代码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中抛出异常。
错误:
{&#34;类型异常&#39; System.Web.HttpUnhandledException&#39;被扔了。&#34;}
的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)
{
}
}
这可能很简单,但我对此很新
答案 0 :(得分:0)
您可以尝试使用以下代码添加带换行符的动态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);
希望它能解决你的问题。
由于