Я не могу добавить кнопки на страницу - PullRequest
0 голосов
/ 15 июня 2011
protected void Page_Load(object sender, EventArgs e)
{
    Button b = new Button();
    b.Text = "1";
    this.Controls.Add(b);
}

Дочерняя страница начинается так:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server"/>

MasterPage

    <div align="center" runat="server" >
         <form id="form1" runat="server">
               <asp:ContentPlaceHolder id="ContentPlaceHolder2" runat="server">
                </asp:ContentPlaceHolder>
         </form>
    </div>

Как показано здесь, кнопки управления находятся внутри

Так, почему я получаю это:

http://localhost:2427/WebSite10/AllQuestions.aspx

Control 'ctl01' of type 'Button' must be placed inside a form tag with runat=server.

Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.Web.HttpException: элемент управления 'ctl01' типа 'Button' должен быть помещен в тег формы с помощью runat = server.

Ответы [ 2 ]

0 голосов
/ 15 июня 2011

Что-то в этих строках должно работать, это поможет в рендеринге элемента управления

Button b = new Button();
b.Text = "Click Me";
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
b.RenderControl(hw);
Response.Write(hw.InnerWriter);

Или вы также можете сделать это через PlaceHolder

<asp:PlaceHolder ID="holder1" runat="server"></asp:PlaceHolder>

Button b = new Button();
b.Text = "Click Me";
holder1.Controls.Add(b);
0 голосов
/ 15 июня 2011

Попробуйте добавить его к содержанию вместо самой страницы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...