Чистый способ передачи данных на мастер-страницу из представления в ASP.NET MVC2 (установите класс CSS из представления) - PullRequest
0 голосов
/ 13 июля 2010

У меня есть приложение ASP.NET MVC2 с главной страницей.Главная страница отображает элементы макета сайта следующим образом:

<div id="wrapper">

  <div id="column1">
    {contentplaceholder}
  </div>

  <div id="column2">
    {contentplaceholder}
  </div>

</div>

В моем представлении я хотел бы применить имя класса к элементу оболочки, поэтому при просмотре домашней страницы элемент оболочки будет:

<div id="wrapper" class="homepage">
</div>

или на странице контактов это будет

<div id="wrapper" class="contact">
</div>

В идеале я хотел бы установить эту переменную на странице aspx вида, а не в действии контроллера.Каков был бы самый чистый способ достичь этого?Я думал что-то вроде:

На главной странице:

<div id="wrapper" class="<%=WRAPPER_CLASS%>">
</div>

, а затем в представлении:

<% WRAPPER_CLASS = "contact"; %>

(очевидно, приведенный выше пример неработает, а у кого-нибудь есть хорошие идеи?)

1 Ответ

0 голосов
/ 13 июля 2010

Почему бы не попробовать это на главной странице:

<div id="wrapper" class="<asp:ContentPlaceHolder ID="page-class" runat="server" />">

</div>

и в представлении aspx

<asp:Content ID="page-class-content" ContentPlaceHolderID="page-class" runat="server">
    homepage
</asp:Content>
...