首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何管理asp.net MVC3应用程序中的视图管理

如何管理asp.net MVC3应用程序中的视图管理
EN

Stack Overflow用户
提问于 2012-04-18 02:35:01
回答 1查看 343关注 0票数 1

我不确定这里是否适合我的问题,但我会试一试。

我们正在开始开发一款新产品,它将使用asp.net MVC3剃刀作为表示层。应用程序大约有7-8个不同的角色,所有的角色都有不同的视图来显示数据。在NHibernate和一些设计模式的实现的帮助下,我已经构建了一个很好的框架,所以应用程序的这一端将很容易调整和维护。

我希望表示层像我的框架一样具有自适应性,这就是为什么我试图找出一种方法,使所有不同类型的角色具有尽可能少的视图,但具有完整的功能。您使用哪种实现来根据最终用户的角色将视图分发给他?

我考虑过使用jquery模板,但考虑到当前可能的视图和剃刀语法,它听起来有点不必要,也不是首选的方法。

在开发这个应用程序时,我应该记住的任何信息都将是很好的,思考,常见的错误,最佳实践和建议等。

期待您的回复。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-18 06:19:39

减少视图数量的一种方法是将IsInRole() (如果您有自定义的内容,则使用等效的内容)与部分视图结合使用。在最简单的情况下,您可以拥有一个视图,该视图还根据特定的角色在其中呈现部分视图。大致是这样的:

代码语言:javascript
复制
@if (HttpContext.Current.User.IsInRole("admin")) {
    @Html.Partial("_StuffForAdmins")
}

根据您的情况,一些部分视图可以在多个不同的角色之间共享,从而减少重复的代码。所有角色都可以公开访问的用户界面元素可以直接放在视图本身上,而不需要进行角色检查。

EDIT:另一种语法是:

代码语言:javascript
复制
 <div>
        @if (Context.User.IsInRole("admin"))
        {
            @Html.Partial("_StuffForAdmins")
        }
    </div>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10196989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档