Ich habe ein kleines Problem mit der Erstellung einer Schaltfläche auf der Server-Seite Code. Ich verwende Stringbuilder, um eine Tabelle in HTML zu erstellen, und ich möchte ein neues Button-Objekt erstellen und es an mein Stringbuilder-Objekt übergeben. Das Problem, das ich habe, ist, dass meine Seite nicht kompiliert wird, wenn ich debugge. Ich möchte meinem Button-Objekt eine runat="server"-Eigenschaft geben, aber ich weiß nicht, wie das geht.
Button add_img_popup = new Button();
add_img_popup.Text = "Add new Image"; // text
add_img_popup.Click += new EventHandler(addImgPopup_Click); // click event handler
add_img_popup.Enabled = true;
add_img_popup.ID = "btn_add_img_popup"; // programmatic id
Page.Controls.Add(add_img_popup); // add to page controls so it renders
st.Append("<tr>");
st.Append("<td>");
st.Append(add_img_popup); // pass to string builder
st.Append("</tbody>");
st.Append("</table>");
Und die Nachricht, die der Server mir gibt.
Serverfehler in der Anwendung '/'.
Das Steuerelement 'btn_add_img_popup' vom Typ 'Button' muss innerhalb eines Formular-Tags mit runat=server platziert werden. Beschreibung: Während der Ausführung der aktuellen Webanfrage ist eine unbehandelte Ausnahme aufgetreten. Bitte überprüfen Sie den Stack-Trace, um weitere Informationen über den Fehler und seine Ursache im Code zu erhalten.
Details zur Ausnahme: System.Web.HttpException: Das Steuerelement 'btn_add_img_popup' vom Typ 'Button' muss innerhalb eines Formular-Tags mit runat=server platziert werden.
Fehlerquelle:
Während der Ausführung der aktuellen Webanfrage wurde eine unbehandelte Ausnahme erzeugt. Informationen über den Ursprung und den Ort der Ausnahme können anhand der nachstehenden Stapelverfolgung der Ausnahme ermittelt werden.
Stack Trace:
[HttpException (0x80004005): Das Steuerelement 'btn_add_img_popup' vom Typ 'Button' muss innerhalb eines Formular-Tags mit runat=server platziert werden]. System.Web.UI.Page.VerifyRenderingInServerForm(Control control) +8702387 System.Web.UI.WebControls.Button.AddAttributesToRender(HtmlTextWriter writer) +54 System.Web.UI.WebControls.WebControl.RenderBeginTag(HtmlTextWriter writer) +20 System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) +20 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +134 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19 System.Web.UI.Page.Render(HtmlTextWriter writer) +29 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1266