我一直在开发一个应用程序,它使用基于单个USP / dbml的模型,并使用ViewBags填充数据输入和编辑视图的查找列表。在我开始实现业务逻辑之前,这一直没问题。由于使用ViewBag.llkup完成的下拉列表在脚本函数中不可用,除非明确地传递给函数。我可以创建一个包含多个USP的模型。我想知道关于这个问题的最佳做法是什么。 谢谢 布鲁斯 我在控制器中有以下代码:
using (var dc = new usp_TM_Select_ShortNameDataContext())
{
String[] s = this.User.Identity.Name.Split('\\');
string[] s2 = s[1].Split('.');
string a = s2[0] + '.' + s2[1];
ViewBag.Message = a.ToString();
ViewBag.DetailsList = new SelectList((System.Collections.IEnumerable)dc.usp_TM_Select_ShortName().ToList(), "short_title", "short_title");
var poc = new usp_ARD_Select_POCDataContext();
return View(poc.usp_ARD_Select_POC().Single());
}
两者都是强类型视图,但如果它们在单个模型中返回视图以便可以使用(访问)它们,我该如何返回? 我有更复杂的例子,我有一个返回多个查找的单个记录。我目前正在使用ViewBag进行此操作,并希望使用ViewModels。 谢谢 布鲁斯
答案 0 :(得分:0)
最佳做法99%的时间是根据您的模型创建强类型视图(或ViewModel
,如果适用的话)。这样,您可以针对特定于域的模型定制视图。
答案 1 :(得分:0)
将视图强烈输入到ViewModel将是我的选择。
您可以在此处查看示例:
http://www.bidn.com/blogs/mbrown/development/2139/mvc-3-view-models
When do I use View Models, Partials, Templates and handle child bindings with MVC 3