C# 在asp.net中显示多个视图

C# 在asp.net中显示多个视图,c#,asp.net-mvc,C#,Asp.net Mvc,我使用动态模型将多个模型传递给视图,但现在我不知道如何显示模型 如何使用动态模型实现这一点 如果您缺少信息,请随时询问 public ActionResult Index() { ViewBag.Message = "Welcome to my demo!"; dynamic mymodel = new ExpandoObject(); mymodel.Teachers = GetTeachers(); mymodel.S

我使用动态模型将多个模型传递给视图,但现在我不知道如何显示模型

如何使用动态模型实现这一点

如果您缺少信息,请随时询问

 public ActionResult Index()
    {
        ViewBag.Message = "Welcome to my demo!";
        dynamic mymodel = new ExpandoObject();
        mymodel.Teachers = GetTeachers();
        mymodel.Students = GetStudents();
        return View(mymodel);
    }
在你看来

@using YourProjNameSpace;
@model dynamic
@{
    ViewBag.Title = "Home Page";
}
<h2>@ViewBag.Message</h2>

<p><b>Teacher List</b></p>

<table>
    <tr>
        <th>Id</th>
        <th>Code</th>
        <th>Name</th>
    </tr>
    @foreach (Teacher teacher in Model.Teachers)
    {
        <tr>
            <td>@teacher.TeacherId</td>
            <td>@teacher.Code</td>
            <td>@teacher.Name</td>
        </tr>
    }
</table>

<p><b>Student List</b></p>

<table>
    <tr>
        <th>Id</th>
        <th>Code</th>
        <th>Name</th>
        <th>Enrollment No</th>
    </tr>
    @foreach (Student student in Model.Students)
    {
        <tr>
            <td>@student.StudentId</td>
            <td>@student.Code</td>
            <td>@student.Name</td>
            <td>@student.EnrollmentNo</td>
        </tr>
    }
</table>
@使用ProjNameSpace;
@模型动力学
@{
ViewBag.Title=“主页”;
}
@查看包。留言
教师名单

身份证件 代码 名称 @foreach(示范教师中的教师) { @教师 @老师,代码 @老师,名字 } 学生名单

身份证件 代码 名称 注册号 @foreach(模型中的学生。学生) { @学生 @学生代码 @学生姓名 @学生注册号 }
像这样创建您的模型

public class ExpandoObject
{
  public List<Teacher> ListTeachers {get; set;}
   public List<Student> ListStudent { get; set;}
}
公共类ExpandoObject
{
公共列表列表{get;set;}
公共列表ListStudent{get;set;}
}
那你的行动呢

public ActionResult DisplayModel()
        {
            ExpandoObject yourModel = new ExpandoObject();
            List<Teacher> listofteachers = dbh.GetTeachers();
            List<student> listofstudents = dbh.Students();

            mymodels.ListTeachers = listofteachers;
            mymodels.ListStudents = listofstudents;

            return View("ModelView", yourModel );
        }
公共操作结果显示模型()
{
ExpandoObject yourModel=新的ExpandoObject();
List listofteachers=dbh.GetTeachers();
listofstudents=dbh.Students();
mymodels.ListTeachers=listofteachers;
mymodels.ListStudents=学生列表;
返回视图(“模型视图”,您的模型);
}
你的观点应该是这样的

    @model ExpandoObject
    <head>
        <link href="~/Content/test.css" rel="stylesheet" />
    </head>
    <body>
        @using (Html.BeginForm("DisplayModel", "Home"))
        {
            <table>
                @for (int i = 0; i < Model.ListTeachers.Count(); i++)
                {
                    <tr class="donatenow">
                        @Html.HiddenFor(m => m[i].ID)
                        @Html.HiddenFor(m => m[i].Name)
                        @Html.HiddenFor(m => m[i].Age)
                        <td>
                            <input type="radio" id="@i" name="amount" onclick="javascript: this.form.submit();" />
                            <label for="@i">@Html.DisplayFor(m => m.ListTeachers[i].Name)</label>
                        </td>
                    </tr>
                }

            </table>

 <table>
                @for (int i = 0; i < Model.ListStudents.Count(); i++)
                {
                    <tr class="donatenow">
                        @Html.HiddenFor(m => m[i].ID)
                        @Html.HiddenFor(m => m[i].Name)
                        @Html.HiddenFor(m => m[i].Age)
                        <td>
                            <input type="radio" id="@i" name="amount" onclick="javascript: this.form.submit();" />
                            <label for="@i">@Html.DisplayFor(m => m.ListStudents[i].Name)</label>
                        </td>
                    </tr>
                }

            </table>
        }
    </body>
@model ExpandoObject
@使用(Html.BeginForm(“DisplayModel”、“Home”))
{
@for(int i=0;im[i].ID)
@Html.HiddenFor(m=>m[i].Name)
@Html.HiddenFor(m=>m[i].Age)
@DisplayFor(m=>m.listChesters[i].Name)
}
@for(int i=0;im[i].ID)
@Html.HiddenFor(m=>m[i].Name)
@Html.HiddenFor(m=>m[i].Age)
@DisplayFor(m=>m.ListStudents[i].Name)
}
}

显示模型的最佳方法是为每个集合使用局部视图。

您希望从模型中显示什么?如果可能的话,你们能发布你们的模型代码吗?我正在显示按钮,上面有老师的名字。教师是一个列表。教师模型由int-Id、字符串名称和int-Age组成。动态模型是什么意思?我使用单选按钮,稍后需要处理列表。如果我使用foreach并提交它,列表将是empty@Izzy,需要是
IList
才能使用
for
循环。您必须将“@Html.DisplayFor(m=>m[i].Name)”更改为“@Html.DisplayFor(m=>m.listofteachers[i].Name)”是的,谢谢。razor代码有一些改进。但我专注于模型设计。