Asp.net mvc 使用@foreach在一个视图上呈现多个(PartialView)表单
假设我有五种不同的独特形式(即Form1、Form2等),以及一个名为ManyForms的视图。五种形式中的每一种都有自己的局部视图(称它们为\u Form1,\u Form2,等等) 我希望能够在许多表单上呈现这些局部视图,我知道我可以使用Asp.net mvc 使用@foreach在一个视图上呈现多个(PartialView)表单,asp.net-mvc,razor,mvvm,asp.net-mvc-5,Asp.net Mvc,Razor,Mvvm,Asp.net Mvc 5,假设我有五种不同的独特形式(即Form1、Form2等),以及一个名为ManyForms的视图。五种形式中的每一种都有自己的局部视图(称它们为\u Form1,\u Form2,等等) 我希望能够在许多表单上呈现这些局部视图,我知道我可以使用@Html.RenderPartial 但是,我希望能够在ManyForms视图上动态呈现多个表单(例如,三个\u Form3视图、两个\u Form4视图和一个\u Form5视图) 我的案例是否保证使用@foreach?如果是这样,我将如何使用@fore
@Html.RenderPartial
但是,我希望能够在ManyForms视图上动态呈现多个表单(例如,三个\u Form3视图、两个\u Form4视图和一个\u Form5视图)
我的案例是否保证使用
@foreach
?如果是这样,我将如何使用@foreach
来实现这一点,以及ViewModel应该是什么样的(粗略地说)呢?假设我可能会遇到一些非常恼人的字典错误?我最终使用的ViewModel看起来像这样:
public class MainViewModel
{
public List<Form1> Form1{ get; set; }
public List<Form2> Form2 { get; set; }
public List<Form3> Form3{ get; set; }
// etc.
public MainViewModel() {
Form1 = new List<Form1>();
Form2 = new List<Form2>();
Form3 = new List<Form3>();
// etc.
}
public类主视图模型
{
公共列表Form1{get;set;}
公共列表Form2{get;set;}
公共列表Form3{get;set;}
//等等。
公共主视图模型(){
Form1=新列表();
Form2=新列表();
Form3=新列表();
//等等。
}
在多个表单视图中:
@model Forms.Models.ViewModels.MainViewModel
<div class="container-fluid">
<div id="MainFormAccordion">
@foreach (var x in Model.Form1.ToList())
{
Html.RenderPartial("_Form1", x);
}
@foreach (var x in Model.Form2.ToList())
{
Html.RenderPartial("_Form2", x);
}
// etc.
@model Forms.Models.ViewModels.MainViewModel
@foreach(Model.Form1.ToList()中的变量x)
{
Html.RenderPartial(“_Form1”,x);
}
@foreach(Model.Form2.ToList()中的变量x)
{
Html.RenderPartial(“_Form2”,x);
}
//等等。
\u表单部分视图将每个视图用作它们的模型MainViewModel.FormX
。我不知道我在这里是否遵循了良好的实践,但我想这就是使用@foreach
的方法