加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – mvc视图中的条件逻辑vs htmlhelper vs action

发布时间:2020-12-16 07:15:56 所属栏目:asp.Net 来源:网络整理
导读:我有一个大视图,需要一些条件逻辑来决定在视图中间呈现几个html块中的哪一个.我的模型上有一个属性,它可以有几个不同的值来决定要输出的html. 我通常会将条件逻辑放在一个html帮助器中,但鉴于每个输出都是一大块html,我不确定在c#文件中转义它们会很棒.我也
我有一个大视图,需要一些条件逻辑来决定在视图中间呈现几个html块中的哪一个.我的模型上有一个属性,它可以有几个不同的值来决定要输出的html.

我通常会将条件逻辑放在一个html帮助器中,但鉴于每个输出都是一大块html,我不确定在c#文件中转义它们会很棒.我也可以将逻辑放在动作中并呈现不同的视图,但鉴于大多数视图都是相同的,这似乎也不是很好.所以我在我的视图(或部分?)中留下了多个if语句,这看起来也很丑陋(显然是不可测试的).

这样做的最佳方式是什么?

(我正在使用MVC3以防万一我可以使用新的和时髦的东西!)

解决方法

我通常在他们自己的部分中放置单独的视觉块.然后我的视图有条件地使用 Html.Partial调用每个部分.这可以让您远离臃肿.

一般来说,我试图避免包含多个元素的Html.Helpers.

就像是:

@if(Model.HasA) 
{
    @Html.Partial("widgetdetails-hasa")
}

@if(Model.HasB)
{ 
    @Html.Partial("widgetdetails-hasb")
}
// etc

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读