【问题标题】:Porting ASP.NET to MVC 3 Razor将 ASP.NET 移植到 MVC 3 Razor
【发布时间】:2012-07-17 10:27:23
【问题描述】:

我正在将一个经典的 ASP.NET 应用程序(ASPX 页面)移植到 ASP.NET MVC 3。目前我使用 ContentPlaceHolder 将内容动态添加到特定的 ASP.NET ASPX 页面。考虑以下几点:

<!DOCTYPE html>
<html>
    <head>
        <link href="MyStyleSheet.css" rel="Stylesheet" type="text/css" />
        <asp:ContentPlaceHolder ID="Styles">
        </asp:ContentPlaceHolder>
        <script type="text/javascript" src="jQueryAndOtherScripts.js"></script>
        <asp:ContentPlaceHolder ID="Scripts">
        </asp:ContentPlaceHolder>
    </head>
    <body>
        <div id="Container">
            <asp:ContentPlaceHolder ID="Content">
            </asp:ContentPlaceHolder>
        </div>
    </body>
</html>

所以在上面的 sn-p 中,我有 3 个内容占位符,因此我可以根据单个页面添加其他样式、脚本和内容。我这样做的原因是每个页面只加载与页面内容相关的样式、脚本(例如,如果它是登录页面,我可能会添加一个脚本来检查登录详细信息是否有效)

考虑以下 MVC 3 Razor View sn-p:

<!DOCTYPE html>
<html>
    <head>
        <link href="MyStyleSheet.css" rel="Stylesheet" type="text/css" />
        <script type="text/javascript" src="jQueryAndOtherScripts.js"></script>
    </head>
    <body>
        <div id="Container">
            @RenderBody()
        </div>
    </body>
</html>

现在的问题...RenderBody() 替换了&lt;asp:ContentPlaceHolder ID="Content"&gt;&lt;/asp:ContentPlaceHolder&gt;,但是我用什么来替换&lt;asp:ContentPlaceHolder ID="Styles"&gt;&lt;/asp:ContentPlaceHolder&gt;&lt;asp:ContentPlaceHolder ID="Scripts"&gt;&lt;/asp:ContentPlaceHolder&gt;

【问题讨论】:

  • 您可能希望使用sections 来实现这一目标。
  • @ManuLetroll:您真的应该将其发布为答案。
  • @ManuLetroll - 是的!答案属于你哥们! Manu 将其作为答案发布,而 Matthew 应该接受该答案。抱歉,我没有仔细阅读评论并发布在 .
  • 事实上我打算发布一个答案,但出于某种原因我发表了评论,我想更详细一点,但当时没有时间。请接受现有答案:)

标签: asp.net asp.net-mvc-3 visual-studio-2010 razor


【解决方案1】:

sections用于此目的。

【讨论】:

  • 谢谢大家。在我问之前我真的应该谷歌它。提交这篇文章后,我找到了我一直在寻找的答案!干杯。
  • @MatthewLayton - 好家伙!在这种情况下接受适当的答案。我建议 Manu Letroll 回答,并接受!
【解决方案2】:

Sections 是实现这一目标的方法。查看 ScottGu 关于该主题的这篇出色的帖子。

http://weblogs.asp.net/scottgu/archive/2010/12/30/asp-net-mvc-3-layouts-and-sections-with-razor.aspx

【讨论】:

  • 非常感谢 V...这是一个很大的帮助!
猜你喜欢
  • 2011-08-07
  • 1970-01-01
  • 2015-03-17
  • 2011-12-29
  • 2011-12-12
  • 1970-01-01
  • 2011-07-07
  • 2011-04-19
  • 1970-01-01
相关资源
最近更新 更多