Пользовательский элемент управления сервером: унаследовано от класса Menu, как и что именно отображать

Я создал пользовательский элемент управления для всех своих приложений, который отображал бы меню, принимая имя соответствующего приложения, и регистрировался в пользовательских ролях и соответственно отображал меню. Я использую уже написанный Javascript для рендеринга меню, которое загружается из базы данных в виде HTML-строки, содержащей div и неупорядоченные списки. Теперь, возвращаясь к исходной проблеме, ранее я унаследовал свой элемент управления с помощью класса Panel, который отображается как div в html, я просто написал сгенерированный HTML-код в унаследованном контейнере панели. Теперь я хочу интегрировать элемент управления с веб-сайтами, на которых уже есть карты сайта. Для этого я унаследовал свой элемент управления от класса Menu, и теперь я запутался, как отобразить меню HTML. Код того, как я рендерил его ранее, вставлен ниже.

[DefaultProperty("Text")]
[ToolboxData(@"<{0}:MenuControl runat=""server"" \>")]
public class MenuControl : Panel
{ 
.
.
.
.
.
 #region Loading Resources On PreRender
    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);
        if (string.IsNullOrEmpty(this.DataSourceID))
        {
            ClientScriptManager cs = this.Page.ClientScript;

            #region Loading JavaScript File(s)

            #endregion

            #region Loading CSS File(s)

            #endregion

            #region Loading Image(s)

            #endregion
        }
    }
    #endregion

    #region Rendering Final Contents
    protected override void RenderContents(HtmlTextWriter output)
    {
        string Menus = string.Empty;
        //Where as Menus contain menu in an html structure of ordered list.
        Menus = GetMenuForAppOnUser();

        output.Write(Menus);
    }
    #endregion
.
.   
.
.
}

Теперь, как это было унаследовано с Panel, так что мне просто нужно было написать немного html внутри унаследованной панели (div). Как мне теперь написать menuhtml, когда он унаследован от класса Menu.

1 ответ

Обнаруженное решение для меню, Render фактически отображает элемент управления вместо RenderContents, как для Panel.

#region Rendering Final Contents
protected override void Render(HtmlTextWriter output)
{
    string Menus = string.Empty;
    //Where as Menus contain menu in an html structure of ordered list.
    Menus = GetMenuForAppOnUser();

    output.Write(Menus);
}
#endregion
Другие вопросы по тегам