繁体   English   中英

像MVC4 Razor模板一样

[英]MVC4 Razor template like

你好,我想一个简单的问题,

我有一个像cshtml:

<div id="box">
    @if (model.View == "item1")
    {
        <div id="item1">
            ...
        </div>
    }
    else
    {
        <div id="item2">
            ...
        </div>
    }   
    <div id="itemDescription">
        ...
    </div>
</div>

我通过模型传递参数以根据参数显示某些内容,因为在两种情况下文档的其余部分都是相同的。

有没有更好的方法来实现这一目标?

谢谢!

如果这两个div的数量不多,你的方法就没问题了 否则,创建两个部分视图以帮助保持整洁:

@if (model.View == "item1")
{
    @Html.RenderPartial("Item1");
}
else
{
   @Html.RenderPartial("Item2");
} 

并不是的; 这是一种非常好的做事方式。 如果div id始终与model.View的值匹配,则可以将其缩短为:

<div id="box">
    <div id="@(model.View)">
        ...
    </div>  
    <div id="itemDescription">
        ...
    </div>
</div>

否则,你的方法很好。 根据von v的评论,如果包含的标记是冗长的(或者您需要在多个位置重复逻辑),您可能希望查看部分视图:

http://www.asp.net/mvc/videos/mvc-2/how-do-i/how-do-i-work-with-data-in-aspnet-mvc-partial-views

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM