C# 将模型名称作为参数传递
我有一个局部视图,我在其中传递模型名来填充它,是否有任何方法可以根据执行的控制器操作将模型名作为参数传递C# 将模型名称作为参数传递,c#,asp.net-mvc,partial-views,C#,Asp.net Mvc,Partial Views,我有一个局部视图,我在其中传递模型名来填充它,是否有任何方法可以根据执行的控制器操作将模型名作为参数传递 <div id = "Details" > <% List<Freshmen>() = model based on controller action executed %> <% using (Html.BeginForm("FreshmenDetails", "Students")) %> <% { %&
<div id = "Details" >
<% List<Freshmen>() = model based on controller action executed %>
<% using (Html.BeginForm("FreshmenDetails", "Students")) %>
<% { %>
<% Html.RenderPartial("FreshmenDetails", new List<Freshmen>()); %>
<% } %>
</div>
我还有3个动作,分别是针对大二的细节()、大三的细节()和大四的细节()
当前我显示的局部视图如下所示:
<div id = "Details" >
<% using (Html.BeginForm("FreshmenDetails", "Students")) %>
<% { %>
<% Html.RenderPartial("FreshmenDetails", new List<Freshmen>()); %>
<% } %>
<% using (Html.BeginForm("SophomoreDetails", "Students")) %>
<% { %>
<% Html.RenderPartial("SophomoreDetails", new List<Sophomore>()); %>
<% } %>
<% using (Html.BeginForm("JuniorDetails", "Students")) %>
<% { %>
<% Html.RenderPartial("JuniorDetails", new List<Junior>()); %>
<% } %>
<% using (Html.BeginForm("SeniorDetails", "Students")) %>
<% { %>
<% Html.RenderPartial("SeniorDetails", new List<Senior>()); %>
<% } %>
</div>
我想要像这样的东西:
<div id = "Details" >
我很难弄清楚你到底想要什么。话虽如此,您是否尝试过使用反射
return PartialView(Model.GetType().Name, new { // Partial View object });
此外,您还可以使用Model.GetType().Name
获取模型对象名称,并在需要的地方使用它。
这应该适合您。发布您的模型和控制器操作。@Pluc我有多个局部视图,它们显示在同一位置,但控制器、操作和模型不同。我能够参数化控制器和动作名称,但在参数化模型方面遇到了困难,正在寻找一种有效的方法将它们传递给局部视图。这能实现吗?@ataravati更新如上您的问题仍然没有意义,那么,您必须为每个问题创建单独的局部视图。我假设每个模型都有自己的特定属性,需要显示在视图上。无法创建常规局部视图。
<% using (Html.BeginForm("FreshmenDetails", "Students")) %>
<% { %>
<% Html.RenderPartial("FreshmenDetails", new List<Freshmen>()); %>
<% } %>
</div>
return PartialView(Model.GetType().Name, new { // Partial View object });