我正在Visual Studio 2012中使用一个新的MVC 4 Internet应用程序模板.我已经安装了用于MVC 4期货的Nuget软件包.在我的_Layout.cshtml中,我正在构建导航菜单.
这可以正常工作并构建正确的URL:
@Html.ActionLink(“Customers”,“Index”,“Customers”)
这是我想要工作的一个强类型的变体:
@Html.ActionLink<CustomersController>(c => c.Index(),"Customers",null)
它对“不能从方法组中选择方法”感到悲伤,你是否意味着调用一个方法?“但是有些东西告诉我,这不是真正的问题.
这编译并输出正确的HTML,但不是内联的:
@{ var t = Html.ActionLink<CustomersController>(c => c.Index(),"Customers"); Response.Write(t); }
如何使用Razor的语法(有或没有期货)在MVC 4中构建强类型的Action / ActionLink?
解决方法
@(Html.ActionLink<CustomersController>(x => x.Index(),"Customers"))
The Basics – (Strongly-Typed) Linking to MVC Actions
这个question是宽松的.