2016-10-13 4 views
0

Ich versuche, Textbox Onclick der Schaltfläche dynamisch hinzuzufügen. Unten ist mein Code. Ich bin in der Lage, ein Textfeld hinzuzufügen, aber beim Hinzufügen der nächsten Textbox nach Abschluss des gesamten Codes wird UnHandled exception geworfen. Ich weiß nicht, woher es geworfen wird.Unhandled Exception beim dynamischen Hinzufügen von TextBox

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

     } 

Button Veranstaltung:

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) 
      { } 

     } 

Nach ganz oben Code unter Ausnahme der Ausführung wird in Global.asax geworfen.

Fehler:

{"Exception of type 'System.Web.HttpUnhandledException' was thrown."}

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) 
     { 

     } 
    } 

Diese einfach sein kann, aber ich bin sehr neu in diesem

+0

würde ich versuchen, zuerst eine Linie in Ihrem button_click1 Fang Hinzufügen wie: string s = string.Format ("Fehler: {0}, Zusätzliche Informationen: {1}", ex.Message, ex.innermessage); Dann legen Sie eine Pause in diese Zeile, sowie eine Pause in der ersten Codezeile in Ihrem Versuch. Und überprüfen Sie Ihren Code im Debug-Modus. – nocturns2

+0

@nocturns, Ausnahme wird nicht in der ButtonClick-Methode ausgelöst, nachdem die ButtonClick-Methode vollständig ausgeführt wurde und Application_Error mit UnHandled Exception aufgerufen wurde. – Subha

+0

Wenn Sie den obigen Fangcode hinzufügen, haben Sie die Möglichkeit, Dinge zu prüfen, bevor der Code vervollständigt wird. – nocturns2

Antwort

0

Sie unter Code versuchen können, für das Hinzufügen von dynamischen TextBox mit Zeilenumbruch:

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

Ich hoffe, es wird Ihr Problem lösen.

Dank

+0

Überprüfung mit ViewState ["controlidlist"] ist nicht erforderlich? Es funktioniert nicht, zeigt immer nur eine Taste – Subha

+0

ja Sie können ViewState hinzufügen, kein Problem in diese –

+0

Ich habe meine Antwort aktualisiert –

Verwandte Themen