2010-07-13 37 views
0

我有一个ASP.NET MVC2应用程序与母版页。母版页呈现站点布局的div如下:干净的方式来传递数据到主页从ASP.NET MVC2视图(设置CSS类从视图)

<div id="wrapper"> 

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

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

</div> 

在我看来,我想一个类名适用于包装的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"; %> 

(显然上面的例子不工作,但没有任何人有任何好主意?)

回答

0

为什么不试试这个,在母版页内:

<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> 
+0

或http://stackoverflow.com/questions/2593534/pass-data-to-master-page-with-asp-net-mvc – Ahmad 2010-07-13 17:04:44

+0

其实我觉得关于使用另一个内容占位符将类名显示到母版页中,但似乎有点矫枉过正。也许这可能是前进的方向 - 如果没有其他人能提供更好的替代解决方案,我会将你的标记标记为已接受的答案。 – romiem 2010-07-13 19:06:00

+0

@Astrofaes - 还有其他的选择,例如创建您自己的自定义主页。最近有一个SO问题(http://stackoverflow.com/questions/3215134/anyone-using-a-custom-viewmasterpage),可能会提供一些进一步的想法,但我的感觉是做现在最简单的事情,让你的功能工作,如果你需要扩大和发挥创意,你可以在后期阶段这样做。 – Ahmad 2010-07-13 19:47:40

相关问题