如何用2个类强烈键入视图?

时间:2011-02-26 10:33:01

标签: asp.net-mvc

是否可以使用2个表强类型化视图? 我的意思是,如果我想显示包含来自2个表的数据的视图,那么我该怎么做 使用来自2个表格的数据强行输入一个视图?

1 个答案:

答案 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);
}