asp.net-mvc – 如何在ASP.NET MVC中控制部分视图的条件显示
发布时间:2020-12-16 03:49:13 所属栏目:asp.Net 来源:网络整理
导读:在我们的标准Web表单ASP.NET解决方案中,我们通常在母版页中具有一系列用户控件,并确定它们是否在其代码中显示. ASP.NET MVC中实现相同目标的最佳方法是什么? 显然,你可以将if语句放在母版页或局部视图中,但这样会让我感到麻烦,并打破了将业务逻辑排除在视图
在我们的标准Web表单ASP.NET解决方案中,我们通常在母版页中具有一系列用户控件,并确定它们是否在其代码中显示. ASP.NET MVC中实现相同目标的最佳方法是什么?
显然,你可以将if语句放在母版页或局部视图中,但这样会让我感到麻烦,并打破了将业务逻辑排除在视图之外的原则.它还需要将必要的信息放入所有视图模型中,或者从基本控制器继承,这对于如此简单的事情似乎很麻烦. 我正在考虑使用RenderAction并返回一个完全空白的视图以防止任何输出 – 这是一个好的模式吗? 解决方法
这不是业务逻辑.当您确定是否显示某些内容时,它是表示逻辑.把它放在那里是可以的. 您可以决定是否显示某些内容并在模型中设置一些标志(例如,您可以制作BaseModel或MasterModel).然后,您的主视图,部分视图本身或HTML帮助程序将基于这些标志执行条件呈现. 关于关注点的清晰分离,是的,WebForms似乎可以做到这一点,但它是对底层机制的巨大抽象.通常,它会导致在代码隐藏中具有业务逻辑,这意味着,在业务逻辑所属的表示层中,其不属于视图所属的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net-mvc-4 – 使用Twitter Bootstrap 3放置验
- asp.net – 如何防止开放重定向攻击?
- asp.net-core – ASP.Net核心maxUrlLength
- asp.net-mvc-3 – ASP.NET MVC ActionFilter –
- asp.net-core – aspnet核心应用程序中的Autofac
- 如何在子文件夹中托管ASP.NET MVC站点
- asp.net – 使用Team City快照依赖项时,您使用快
- asp.net – 将数据发送到存储过程
- ASP.NET C#5异步Web应用程序使用异步和等待
- asp.net-mvc – 根据Model值为元素添加样式
热点阅读