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 });