2012-07-30 106 views
0

我确实进行了调查,并且我没有找到对我的问题有益的建设性信息。这就是为什么我的问题是关于我想要控制的控件,我想用自己的方式来扩展和呈现控件。我正在使用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提供一个图片链接。

回答

1

你好,你可以在菜单

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

做我这个解决一下使用扩展方法?我可以渲染第一个控件作为图像链接而不是文本链接吗? – Alnedru 2012-07-30 17:51:40

相关问题