【问题标题】:What is the correct way of overriding render method in Menu control在菜单控件中覆盖渲染方法的正确方法是什么
【发布时间】:2012-07-30 16:57:20
【问题描述】:

我确实进行了调查,但没有为我的问题找到好的和有建设性的信息。这就是为什么我的问题是关于我想以自己的方式扩展和呈现控件的控件。我正在使用 SharePoint,但 SharePoint aspnet 控件是密封的,因此我无法从中派生。

我拥有的是一个菜单控件,它源自: System.Web.UI.WebControls.Menu 或者 Microsoft.SharePoint.WebControls.AspMenu 我看不出有什么大的不同。我有数据源/数据提供者。

SiteMapDataSource dataSource = this.GetDataSource() as SiteMapDataSource;
SiteMapProvider provider = dataSource.Provider;

所以我拥有所有需要的元素。

现在基类有很多不同的方法可以覆盖,但我不知道如何开始。

我应该在哪里以及如何创建要呈现的控件? 我在哪里渲染这些控件? 他们存在的 html 的控制?

<ul>
 <li> </li>
 ...
</ul>

然后如何根据提供者构建菜单?

只是一个小更新,以提供完整的图片: 我这样做是因为我需要将第一个控件呈现为不是链接和文本,而是作为图像链接并将图像设置为提供的 url。

【问题讨论】:

    标签: c# asp.net html menu overriding


    【解决方案1】:

    您好,您可以在菜单上使用扩展方法

    public static void YourExtension(this Menu control)
    {
         control.YourPropertyTarget = ....;
    }
    

    【讨论】:

    • 我该如何解决这个问题?我可以将第一个控件呈现为图像链接而不是文本链接吗?
    猜你喜欢
    • 1970-01-01
    • 2013-03-08
    • 2015-05-06
    • 2019-05-04
    • 2020-07-22
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 2017-12-11
    相关资源
    最近更新 更多