【问题标题】:What to do with @RenderBody()?@RenderBody() 怎么办?
【发布时间】:2011-01-25 03:24:13
【问题描述】:

我有一个带有JQuery UI Tabs 的 ASP.NET MVC 3 应用程序。我有一个主布局页面_layout.cshtml,代码如下。主_layout.cshtml 需要@RenderBody() 代码。既然是必需的,那我该怎么办。我想我要去哪里是我不知道我是否正确地这样做,因为我没有使用它。
我应该是,如果不是,有什么问题?
谢谢。

 <div class="page">
        <div id="title" style=" height:120px" >                
            <img alt="Test.com" src="/Content/images/TestLogoLeft.png" style="width:370px; float:left; margin:0px;" />
        </div>

        <div id="titleRight" style=" background-color:White; width:580px; height:120px; float:right;"></div>

        <div id="menu" style=" background-color:White; width:950px; height:400px; float:left;">

            <!-- Must have class= info to prevent flash of just content on refresh -->
            <div id="tabs" class="ui-tabs ui-widget ui-widget-content ui-corner-all" style=" position:relative; border:0px;"   >
                <ul class="ui-tabs-nav">                        
                    <li><a href="#tabs-1" >Home</a></li>                        
                    <li><a href="#tabs-2" >Statistics</a></li>
                    <li><a href="#tabs-3" >Maps</a></li>
                    <li><a href="#tabs-4" >FAQs</a></li>
                    <li ><a href="#tabs-5">Login</a></li>
                    <li ><a href="#tabs-6">SignUp</a></li>
                </ul>
                <div id="tabs-1" class="ui-tabs-hide ui-tabs-panel">@Html.Partial("../Home/Home") </div>
                <div id="tabs-2" class="ui-tabs-hide ui-tabs-panel">@Html.Partial("../Statistics/Statistics")</div>
                <div id="tabs-3" class="ui-tabs-hide ui-tabs-panel">@Html.Partial("../Maps/Maps")</div>
                <div id="tabs-4" class="ui-tabs-hide ui-tabs-panel">@Html.Partial("../Home/FAQs")</div>                                     
               <div id="tabs-5" class="ui-tabs-hide ui-tabs-panel">@Html.Partial("../Account/LogOn")</div>                                                        
               <div id="tabs-6" class="ui-tabs-hide ui-tabs-panel">@Html.Partial("../Account/Register")</div> 

            </div>               
        </div>               
 </div>


 @* TODO: I need to figure out what to do with this  *@        
<div id="main" style=" display:none">
    @RenderBody()           
</div>      

【问题讨论】:

  • 您真的想使用 jquery 选项卡作为您网站的主要导航机制吗?似乎是个坏主意...用户无法为网站的特定部分添加书签,您无法轻松地将他们重定向到网站的特定部分,并且如果用户禁用了 javascript,那么他们将无法在以下位置使用您的网站全部。 jquery 选项卡非常酷,但是这种用法太过分了,imo
  • 罗伯特,非常好的观点。实际上,出于某些原因以及更多原因,我正在考虑删除它们。当您拥有一个非常动态的站点时,它会增加难度,例如这样。至少在我目前掌握的有限知识的情况下。

标签: asp.net jquery asp.net-mvc


【解决方案1】:

@RenderBody 调用将呈现您的实际视图的内容。
你应该把它放在任何你想要视图内容的地方。

【讨论】:

  • 当您的视图通过单击 Ajax.ActionLink(..) 呈现时,RenderBody() 就没有用了。
  • +1 这对我有帮助,谢谢 SLaks!我正在从网络表单迁移到 MVC。 :)
  • 这不能回答问题吗?由于海报单页设计和选项卡控制,RenderBody 根本没有必要。
猜你喜欢
  • 2012-03-18
  • 1970-01-01
  • 2011-03-19
  • 2019-11-18
  • 2015-06-30
  • 1970-01-01
  • 1970-01-01
  • 2013-09-19
  • 2014-07-14
相关资源
最近更新 更多