.Net Добавить LinkButton в заполнитель в пользовательском элементе управления

Я хочу создать общий пользовательский элемент управления заголовком для различных главных страниц в веб-приложении. Заголовок используется мастерами и имеет общие элементы, такие как логотип, навигацию и кнопки динамической учетной записи, такие как «Моя учетная запись» и «Выйти».

Я просто добавляю в форму кнопки динамической ссылки, но затем хочу переместить их в позицию Placeholder.

Проблема в том, что пользовательский элемент управления получает ошибку: «LinkButton должен быть помещен в тег формы с runat = server», когда я добавляю его в заполнитель.

uc_header.ascx.cs

LinkButton signout = new LinkButton();
signout.Text = "Sign-Out";
signout.ID = "SignOutLink";
signout.Click += new EventHandler(SignOutLink_Click);
//adding it to the form works but positions it at the bottom
this.Page.Form.Controls.Add(signout);
//I get an error when I try to add it to the placeholder 
SignOutHolder.Controls.Add(signout);

uc_header.ascx (например, упрощенный)

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="uc_header.ascx.cs" 
Inherits="Site.Masters.uc_header" %>

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

Как я могу добавить или разместить кнопку выхода в заполнитель с помощью .Net?

Моя цель - создать способ выйти из системы на всех страницах и управлять только одним общим файлом заголовка.


person User970008    schedule 03.05.2012    source источник
comment
Где uc_header на странице? Это вне формы?   -  person James Johnson    schedule 03.05.2012
comment
Он находится на моей главной странице и внутри формы.   -  person User970008    schedule 03.05.2012
comment
Собственно, в этом и была проблема. Был один мастер, где он был вне формы. Дох! Спасибо.   -  person User970008    schedule 03.05.2012
comment
Без проблем! У всех есть свои моменты :)   -  person James Johnson    schedule 03.05.2012


Ответы (1)


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

person James Johnson    schedule 03.05.2012