我在某处看到这样的代码:
return View(x=>x.List());
代替
return View("List");
我需要什么来实现这一目标?
我正在使用 Asp.net MVC 2 RC 2
编辑我不是说强类型视图
下一个例子
return this.RedirectToAction(c => c.Speaker());
我在某处看到这样的代码:
return View(x=>x.List());
代替
return View("List");
我需要什么来实现这一目标?
我正在使用 Asp.net MVC 2 RC 2
编辑我不是说强类型视图
下一个例子
return this.RedirectToAction(c => c.Speaker());
强类型 RedirectToAction由MvcContrib项目提供。
return RedirectToAction(c => c.Speaker());
return RedirectToAction<OtherController>(c => c.Speaker());
强类型的不是控制器……而是视图。
要获得强类型视图,您可以使用 VS MVC 工具中的提示,然后右键单击一个操作并选择“创建强类型视图”,然后选择合适的业务对象作为您的模型,或者您可以通过将页面指令的 Inherits 属性更改为 System.Web.Mvc.ViewPage 来直接更改页面,其中 SomeModel 是实现“List”属性的模型,并且是将绑定到页面的模型。
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<SomeModel>" %>
另外,我相信您正在考虑的是视图上的用法:
<%= Html.LabelFor(m -> m.SomeValue) %>
同样,我不相信您正在考虑强类型控制器,我很确定您看到的是强类型视图。
如果你通过NerdDinner 教程,你会一次又一次地看到这种事情。
我不确定从调用 View 方法(将不同的控制器操作作为参数)中返回的结果是什么。正如您所指出的那样, RedirectToAction 具有这种行为以及一些 Html 辅助方法,例如:
<%= Html.ActionLink<myController>(x => x.Index(), "My Action") %>