次のようなコードをどこかで見ました:
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());
別のコントローラーアクションをパラメーターとして使用するViewメソッドの呼び出しからの戻りとして何を期待するかわかりません。ご指摘のとおり、RedirectToActionにはこの動作と、次のようないくつかのHtmlヘルパーメソッドがあります。
<%= Html.ActionLink<myController>(x => x.Index(), "My Action") %>
型付けが強いのはコントローラーではなく、ビューです。
厳密に型指定されたビューを取得するには、VS MVC ツールのプロンプトを使用し、アクションを右クリックして [厳密に型指定されたビューの作成] を選択し、モデルとして機能する適切なビジネス オブジェクトを選択するか、 Page ディレクティブの 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 チュートリアルを実行すると、この種のことが何度も表示されます。