用vue做的网站怎么实现响应式,wordpress作者分类,手机网站建立,蚌埠发布刚刚咨询区 user469652请问 ASP.NET MVC 中的 ViewBag 和 ViewData 到底哪一个好#xff0c;在实际项目开发中应该选择哪一个#xff1f;回答区 Naresh RavlaniViewData它需要对复杂类型进行类型转换并且还要检查null值来防止错误。ViewBag它不需要对 复杂类型 进行类型转换。考虑… 咨询区 user469652请问 ASP.NET MVC 中的 ViewBag 和 ViewData 到底哪一个好在实际项目开发中应该选择哪一个回答区 Naresh RavlaniViewData它需要对复杂类型进行类型转换并且还要检查null值来防止错误。ViewBag它不需要对 复杂类型 进行类型转换。考虑下面的代码public class HomeController : Controller
{public ActionResult Index(){var emp new Employee{EmpID101,Name Deepak,Salary 35000,Address Delhi};ViewData[emp] emp;ViewBag.Employee emp;return View(); }
}对应的 HomeView 代码如下model MyProject.Models.EmpModel;
{ Layout ~/Views/Shared/_Layout.cshtml; ViewBag.Title Welcome to Home Page;var viewDataEmployee ViewData[emp] as Employee; //need type casting
}h2Welcome to Home Page/h2
This Year Best Employee is!
h4ViewBag.Employee.Name/h4
h3viewDataEmployee.Name/h3Bart Calixto我看过很多的资料说 ViewBag 或 ViewData 用途都是将数据从 Controller 传送到 Views 中我觉得这种说法比较偏驳甚至是错的我这么说的原因是它不仅可以实现 Controller 到 View 还可以实现 View 到 Layout 或者 View 到 Partial 中。下面是一个 layout 页。titleViewData[Title] - MyApp/title然后是一些 view 页。ViewData[Title] Details;接下来我再回答下 ViewBag 和 ViewData 到底有什么不同最明显的不同是 ViewData 它的内部是一个强类型的字典结构而 ViewBag 是一个动态类型。接下来的问题是它们各有什么应用场景呢ViewBag 不支持错误的C#命名规范比如说 Key With Space 就无法用 ViewBag。ViewBag.Something 是动态类型所以你需要明确知道它到底是什么类型而且在运行时也可能会报错。ViewData 需要类型转换而 ViewBag 不会。知道这些微妙的不同接下来就可以按照你的爱好使用啦。点评区 在这种判断异同的场景我个人建议多使用 ILSpy 或者 DnSpy 去翻看里面的源代码这样才能做到心中有数。