在asp.net-mvc网站上,处理可编辑和只读视图是否有良好的模式?
我有一个asp.net-mvc网站,到目前为止还没有任何权利,因为它对所有人开放.许多页面都是带有文本框,选择下拉列表等的详细表单
我现在需要更改它以使许多现有页面“有权”,因此只有某些人具有编辑功能,而其他人都看到了只读页面.我想知道我是否应该 >为我的每个现有视图创建一个单独的视图,其中的表单只读取页面上的html,并根据服务器端的权限进行重定向,类似于 public ActionResult OrderView() { var isEntitled = Model.IsEntitled() if (isEntitled) { return("OrderEditableView",GetViewModel()); } else { return("OrderReadOnlyView",GetViewModel()); } } 要么 >重复使用相同的视图,只需禁用或隐藏屏幕上的“保存”按钮. 在我看来 <% if (Model.IsEntitled) { %> <button id="saveButton">Save Changes</button> <% } %> 第二个选项可以更快地实现,但会有点奇怪,因为它看起来像你可以编辑所有字段,但只是没有看到(或看到一个禁用)窗体上的保存按钮. 第一个选项似乎更干净,但我必须为我的每个屏幕创建一个新视图,这似乎很多工作(目前超过100个视图) 这似乎是一种常见的情况所以我想看看是否有处理这种情况的最佳做法.显然,我正在寻找一个解决方案,考虑到我目前的情况,但如果有一些模式或解决方案被认为是最佳实践,或者如果我从头开始,我也会感兴趣. 解决方法
我会为两者创建一个单独的部分/完整视图.
原因: 易于改变和维护 此外,在现实世界中,我们在预算,时间和精力之间取得平衡.所以考虑到我可以根据情况使用这些的混合. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-4 – MVC4和MVCContrib
- asp.net-mvc-3 – 实体框架:ViewModel到域模型
- asp.net – 如何禁用Web.Config中的目录浏览
- 使用UpdatePanel单击按钮后更新ASP.NET标签
- asp.net-mvc – 在MVC命令,优先级和功能问题中授权属性
- asp.net – 添加GridTemplateColumn会破坏RadGrid
- asp.net-mvc – 如何将自定义工具添加到kendo编辑器
- asp.net – 在fileupload中选择立即调用C#函数文件
- asp.net-mvc – MVC – 如何更改帖子中文本框的值?
- asp.net-web-api – 找不到Web API路由404