1

マスター ページにアプリケーションのメイン メニューと、このマスター ページに依存するいくつかのコンテンツ ページが含まれる 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

誰でもこれについて私を助けることができますか? ありがとう

4

3 に答える 3

1

HTMLリンクにする必要があったので、しばらくこれをいじっていました。たとえば、 runat="server" が必要であることが判明しました

<head runat="server" id=aHead>
于 2012-07-20T15:35:18.410 に答える
1

ところで、試してみてください

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

HtmlGenericControl にも属性があるため、機能するはずです

于 2009-08-19T19:03:41.587 に答える
-1

参考までに、私は似たようなことをする必要があり、それを機能させるために、 body タグに runat="server" を追加しました (このスレッドのおかげです)。

于 2014-05-08T14:53:35.377 に答える