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个视图,随着视图的增长,管理/处理会更容易。这不是推荐的方法,或者是错误的设计。如果你能提供更多的细节,那就更好了。