是否可以使用2个表强类型化视图? 我的意思是,如果我想显示包含来自2个表的数据的视图,那么我该怎么做 使用来自2个表格的数据强行输入一个视图?
答案 0 :(得分:2)
您不能直接执行此操作,但可以创建一个ViewModel类,其上包含两个属性,用于保存对表的引用。您可以针对该ViewModel类强烈键入View。
视图模型:
public class ViewModelTables
{
public MyTable customer {get; set;}
public MyOtherTable MyOtherTable {get; set;}
}
查看:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ViewModelTables>" %>
<% foreach(var tab1Item in Model.customer)
{ %>
// render here what ever you want to render
<%: Html.TextboxFor(name => tab1Item.Name) %>
<% } %>
<% foreach(var tab2Item in Model.MyOtherTable)
{ %>
// render here what ever you want to render
<% } %>
控制器:
public ActionResult MyDoubleTables()
{
var my2Tab = new ViewModelTables();
var tab1 = GetTable1(); // whatever you need to do
var tab2 = GetTable2(); // whatever you need to do
my2Tab.MyTable = tab1;
my2Tab.MyOtherTable = tab2;
return View(my2tab);
}