Получите доступ к элементу управления HTML на главной странице ASP из кода за страницей содержимого - PullRequest
1 голос
/ 19 августа 2009

У меня есть приложение ASP.NET / C #, в котором главная страница содержит главное меню моего приложения и несколько страниц содержимого, которые зависят от этой главной страницы.

Я хотел бы выделить ссылку меню моей главной страницы, соответствующую текущей отображаемой странице содержимого.

Для этого у меня уже есть класс CSS, выделенный для этого (называемый "выбранным")

Таким образом, я пытался получить доступ к ссылке на мастер-страницу, которую я хочу выделить со страницы контента, используя ее идентификатор и сделать что-то подобное (на странице контента):

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 ]

1 голос
/ 20 июля 2012

Некоторое время возился с этим, так как мне нужно было, чтобы это была ссылка HTML. Оказывается, вам нужен runat = "server", например,

<head runat="server" id=aHead>
1 голос
/ 19 августа 2009

Кстати, попробуйте

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

, это должно работать, поскольку HtmlGenericControl также имеет атрибуты

0 голосов
/ 08 мая 2014

Просто для справки, мне нужно было сделать что-то похожее, и чтобы оно заработало, я добавил runat = "server" в тег body (благодаря этой теме).

...