asp.net-mvc-3 – 大量使用ViewBag
发布时间:2020-09-19 13:17:09 所属栏目: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 – IE8 Win7 Facebook Connect问题
- asp.net文件上传功能(单文件,多文件,自定义生成缩略图,水印
- asp.net-mvc – 在asp.net mvc 3剃刀中识别html助手的问题
- ASP.NET MVC删除操作方法中的查询字符串
- asp.net-mvc – 为什么ASP.NET MVC 4与IList for editor不能
- asp.net-core – 编译netcoreapp1.0,代码包含#if!NETSTAND
- asp.net-mvc – 使用mvc的主要目的
- AJAX分页的代码(后台asp.net)
- asp.net-mvc – MVC“添加控制器”是“无法检索元数据…配置
- 端到ASP.NET MVC的推荐方法
推荐文章
站长推荐
- asp.net-mvc – 在ASP.NET MVC 2中模板化Html.Di
- 如何确定ASP.NET应用程序域的生命周期
- asp.net-mvc – 具有ASP.NET MVC的多语言网站
- asp.net – 避免在web.config中提供服务器连接字
- azure – 当用户存储在外部身份提供程序服务中时
- asp.net 根据汉字的拼音首字母搜索数据库(附 LIN
- 在MVC中使用Json.Net序列化和反序列化Json对象
- asp.net-mvc – 我需要有关HandleError的更多信息
- asp.net-mvc – System.Web.Mvc.WebViewPage.Mod
- asp.net-mvc – 不应加载引用程序集以执行
热点阅读