从内容页面后面的代码访问ASP主页面上的HTML控件

时间:2009-08-19 18:47:56

标签: asp.net master-pages code-behind

我有一个ASP.NET / C#应用程序,其中母版页包含我的应用程序的主菜单和几个依赖于该母版页的内容页面。

我想突出显示与当前显示的内容页面对应的母版页的菜单链接。

为此,我已经有一个专门用于此的CSS类(称为“选定”)

因此,我试图通过使用其ID来访问我想在内容页面中突出显示的母版页链接并执行类似的操作(在内容页面中):

HtmlLink currentMenu = (HtmlLink) Master.FindControl("idOfTheLinkToHighlight");
currentMenu.Attributes.Add("class", "selected");

但我得到以下例外:

Unable to cast object of type 'System.Web.UI.HtmlControls.HtmlGenericControl' to type 'System.Web.UI.HtmlControls.HtmlLink

有人可以帮我这个吗? 感谢

3 个答案:

答案 0 :(得分:1)

顺便说一句,试试

(HtmlGenericControl)currentMenu = (HtmlGenericControl) Master.FindControl("idOfTheLinkToHighlight");
currentMenu.Attributes.Add("class", "selected");

它应该可以工作,因为HtmlGenericControl也有属性

答案 1 :(得分:1)

我正在讨论这个问题一段时间,因为我需要它作为HTML链接。事实证明,在例如

中你需要runat =“server”
<head runat="server" id=aHead>

答案 2 :(得分:0)

仅供参考,我需要做类似的事情,为了让它工作我添加了runat =&#34;服务器&#34;到body标签(感谢这个帖子)。