C# if条件下的asp-netmvc变更模型

C# if条件下的asp-netmvc变更模型,c#,asp.net,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc 5,我知道一个视图中只能有一个模型。但我想把它控制在一个条件之内 @if (ViewBag.type == "multiple") { @model IEnumerable<Student> } else if (ViewBag.type == "single") { @model Student } @if(ViewBag.type==“多个”) { @模型IEnumerable } else if(ViewBag.type==“单个”

我知道一个视图中只能有一个模型。但我想把它控制在一个条件之内

  @if (ViewBag.type == "multiple")
  {
      @model IEnumerable<Student>
  }
  else if (ViewBag.type == "single")
  {
      @model Student
  }
@if(ViewBag.type==“多个”)
{
@模型IEnumerable
}
else if(ViewBag.type==“单个”)
{
@模范学生
}
但它给了我错误。“一个文件中只允许有一个‘model’语句。”


谢谢您的帮助。

在这两种情况下,您都可以简单地使用
IEnumerable

如果
ViewBag.type==“单个”
则使用

@Model.FirstOrDefault()
获取单个学生值


除非使用
Dynamic
type Model

您不能定义两种不同类型的模型。创建2个视图,或者如果需要1个视图,则使用具有每个视图属性的视图模型,或者使用
@Html.Action()
要调用返回一个或两个部分视图的方法,为什么不能始终使用
@model IEnumerable
,如果是单模式,内部只有一个元素?如果显示更多详细信息,可能最好的解决方案是使用编辑器或显示模板。此逻辑应该在控制器中…我也同意@StephenMuecke…只需创建2个视图,随着视图的增长,管理/处理会更容易。这不是推荐的方法,或者是错误的设计。如果你能提供更多的细节,那就更好了。