有人可以提供一个如何在一个视图中组合 15个模型的示例吗? 我不能使用元组因为元组仅在一个视图中支持4个模型...在5个剃刀语法不支持之后... 所以我使用Dictionary for List我可以通过Create view来完成,但我不能保存每个模型...
控制器创建视图中的
public ActionResult Create()
{
try
{
var model = new Dictionary<string, Model>()
{
{ "table1", new validation.table1() },
{ "table2", new validation.table2() },
{ "table3", new validation.table3() },
{ "table4", new validation.table4()},
{ "table5", new validation.table5()},
{ "table6", new validation.table6()},
{ "table7", new validation.table7()},
{ "table8", new validation.table8()},
{ "table9", new validation.table9()},
{ "table10", new validation.table10()},
{ "table11", new validation.table11()},
{ "table12", new validation.table12()},
{ "table13", new validation.table13()},
{ "table14", new validation.table14() },
{ "table15", new validation.table15()}
};
return View(model);
}
catch (Exception ex)
{
throw ex;
}
}
答案 0 :(得分:0)
关键步骤是创建一个类来模拟您希望视图能够使用的内容,这是一种称为视图模型的类。在您的示例中,您要使用15个对象。我不确定你想要什么类型的对象&#34;表&#34;为此,我假设您的代码中有一个类Table
,您可以根据自己的规格进行相应更改。然后,您的视图模型将包含15个Table
类型的成员变量:
public class TableViewModel
{
public Table Table1 { get; set; }
public Table Table2 { get; set; }
public Table Table3 { get; set; }
public Table Table4 { get; set; }
public Table Table5 { get; set; }
public Table Table6 { get; set; }
public Table Table7 { get; set; }
public Table Table8 { get; set; }
public Table Table9 { get; set; }
public Table Table10 { get; set; }
public Table Table11 { get; set; }
public Table Table12 { get; set; }
public Table Table13 { get; set; }
public Table Table14 { get; set; }
public Table Table15 { get; set; }
}
在您的控制器中,现在您的工作是创建和填充该视图模型的实例。我不确定你的桌面对象来自哪里,所以我只是说在我的例子中我有15个变量名为&#39; table1&#39;,&#39; table2&#39;等等:
public ActionResult Create()
{
TableViewModel model = new TableViewModel()
{
Table1 = table1,
Table2 = table2,
Table3 = table3,
// ...
Table15 = table15
};
return View(model);
}
最后,在您的视图中,您需要做的就是强烈输入新视图模型的视图。
@model TableViewModel
// Perform work with tables; each can be referenced
// as Model.Table1, Model.Table2, and so on.
这就是全部!