В моем веб-приложении (asp.net C#) У меня есть меню как «Все», «Образование», «Развлечения», «Комедия». Я хочу, чтобы при выборе «Все» он должен отображаться как текущее меню, для которого у меня есть текущий класс CSS.Как выбрать текущее меню на главных страницах?
В случае WebUserControls я могу сделать это легко, передавая параметр текущей страницы, чтобы выбрать, как показано ниже:
mywebpage.aspx
<uc:header ID="header1" runat="server" selectedMenu="comedy" />
header.ascx (код (C#))
public string selectedMenu
{
get { return strSelected; }
set { strSelected = value; }
}
header.ascx (HTML)
<ul>
<li><a href="/all/" title="All Videos" <%if (strSelected == "all"){%>class="current"<%} %>><span>All</span></a></li>
<li><a href="/fun/" title="Fun Videos" <%if (strSelected == "fun"){%>class="current"<%} %>><span>Fun</span></a></li>
<li><a href="/comedy/" title="Comedy Videos" <%if (strSelected == "comedy"){%>class="current"<%} %>><span>Comedy</span></a></li>
</ul>
Когда я передам комедию с моей веб-страницы в usercontrol, тогда она выберет комедийное меню. Я хочу реализовать такую же функциональность в случае мастер-страниц, может ли кто-нибудь сказать мне, как достичь этого типа объекта для мастер-страниц.
Один из способов, которым я чувствую - передать параметр строки запроса http://example.com/all/?select=all
, я проверю функцию master page_load, если параметр «все» или «забава» или «комедия», затем выберите соответствующее меню. Но это плохо, потому что я не хочу добавлять дополнительный параметр строки запроса к своим URL-адресам.
Скажите, пожалуйста, как решить эту проблему.
Благодаря
Выглядит неплохо и так же, как usercontrol, но есть ли какие-либо вещи, с которыми вместо написания кода на моей веб-странице я могу передать «комедию» из html-разметки ?? как в usrecontrols ?? – Prashant
Я думаю, что ответ Джаммина содержит эту часть. Похоже, что если вы разместите <% @ MasterType VirtualPath = "~/YourMaster.master"%> на своей странице контента, кастинг будет выполнен автоматически. – rmac