Asp.net mvc RenderAction不能与类型参数一起使用(MVC 5)

Asp.net mvc RenderAction不能与类型参数一起使用(MVC 5),asp.net-mvc,razor,asp.net-mvc-5,Asp.net Mvc,Razor,Asp.net Mvc 5,我是ASP.NETMVC新手。我正试图从MVC 3->MVC 5升级的一个项目,其对RenderAction,ActionLink等的大部分调用的格式与我在MVC教程中看到的不同 具体而言,方法的调用如下所示: @{Html.RenderAction<MyControllerHere>(c => c.MyAwesomeMethod());} @{Html.RenderAction(c=>c.MyAwesomeMethod());} Razor正在报告错误: 非泛型方法…Re

我是ASP.NETMVC新手。我正试图从MVC 3->MVC 5升级的一个项目,其对
RenderAction
ActionLink
等的大部分调用的格式与我在MVC教程中看到的不同

具体而言,方法的调用如下所示:

@{Html.RenderAction<MyControllerHere>(c => c.MyAwesomeMethod());}
@{Html.RenderAction(c=>c.MyAwesomeMethod());}
Razor正在报告错误:

非泛型方法…RenderAction(System.Web.Mvc.HtmlHelperString)不能与类型参数一起使用

MVC仍然支持这种语法吗

如果是,错误中引用的类型参数是什么?
如果不是,这将如何转换为当前语法

我将逐一回答您的问题:

语法仍然受支持吗? 据我所知不是这样。我找不到官方消息来源来证实这一点,但据我所知,它是MVC期货的一部分

错误中引用的类型参数是什么? 传递给
RenderAction
调用的C#type参数。在您的示例中,它是
MyControllerHere

如何将其转换为当前语法? 假设您的控制器遵循具有
控制器
名称后缀的默认约定,例如
MyController

@{Html.RenderAction("MyAwesomeMethod", "My");}

我还没有对此进行测试,但我相信它基本上是正确的。

请记住,您可以编写自己的
HtmlHelper
扩展方法来再次提供此功能。您可能可以在Internet上找到示例代码,或者可以查看MVC中包含函数时使用的源代码。