asp.net-mvc-3 – 大量使用ViewBag
发布时间:2020-09-19 13:30:31 所属栏目:asp.Net 来源:互联网
导读:我在我的MVC应用程序中大量使用ViewBag,这被认为是不好的做法吗?我不确定是否花时间创建ViewModel(但我认为它更适合MVVM而不是MVC)或继续大量使用ViewBag.支持和反对的理由是什么?示例控制器方法将返回它的模型(通常是一个简单的域实体)以及以下对ViewBag的
|
我在我的MVC应用程序中大量使用ViewBag,这被认为是不好的做法吗?我不确定是否花时间创建ViewModel(但我认为它更适合MVVM而不是MVC)或继续大量使用ViewBag.支持和反对的理由是什么?示例控制器方法将返回它的模型(通常是一个简单的域实体)以及以下对ViewBag的调用: ViewBag.TotalItems = data.Count();
ViewBag.FilteredItems = gridFilters;
ViewBag.Action = "Events";
ViewBag.Area = "People";
ViewBag.EntityID = person.EntityID;
ViewBag.OrganisationID = ID;
ViewBag.Name = string.Format("{0} {1}",person.FirstName,person.LastName);
ViewBag.IsEnabled = person.IsEnabled;
ViewBag.EntityID = person.EntityID;
ViewBag.Favourited = users.IsOnUserFavourites(person.EntityID);
ViewBag.Columns = userColumns;
ViewBag.Title = "Person : " + string.Format("{0} {1}",person.LastName) + " - Events";
解决方法像这样的问题通常会得到双方的答案.很多人觉得像这样使用ViewBag是一个糟糕的设计(包括我自己).它使您的控制器不易测试.您的观点不是强类型等.使用ViewModel通常是一种很好的做法.不要让您的模型成为域模型,而是创建特定于您正在显示的视图的模型.这样,它可以100%定制,以满足您对此特定视图的需求.一旦你这样做,你会发现你真的不需要使用ViewBag.它有时可以创建许多额外的代码(每个视图一个视图模型),但代码非常简单,对一个视图进行更改不会破坏任何其他视图. (编辑:长春站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net webservice返回json的方法
- asp.net – .Net Core 2 Spa模板与角度材料
- asp.net-mvc-3 – Orchard CMS DataAnnotations – 客户端验
- asp.net 文件下载功能函数代码整理
- asp.net – 当绑定值包含冒号时,如何绑定GridView HyperLin
- WPF的Page介绍及Page Window Frame 之间的链接使用示例,嵌
- asp.net-mvc-3 – MVC 3不显眼的验证 – 有条件地禁用/启用
- asp.net – (客户端)禁用提交按钮的最佳方法是什么?
- 在ASP.NET中使用querystring的最佳做法?
- asp.net-mvc – 如何忽略ASP.NET MVC 4中特定View文件夹或特
推荐文章
站长推荐
- ASP.NET Core 1.0 ConfigurationBuilder().AddJs
- 增加ASP.NET站点的executionTimeout和maxRequest
- asp.net-web-api – Web API / MVC 6中的安全JSO
- asp.net 根据汉字的拼音首字母搜索数据库(附 LIN
- asp.net – 有人有一种方法来保持页面呈现一旦一
- asp.net-mvc-3 – dataannotations在主键上设置标
- asp.net-mvc – 如何将Model字段值传递给javascr
- asp.net – 绑定ListView InsertItemTemplate中的
- 十七点学完安全知识超级详细了解进程和病毒知识
- asp.net-mvc – 从基本控制器继承LINQ-to-SQL数据
热点阅读
