コントローラーはどのビューを返すかをどのように認識しますか? 命名規則によるものだと思っていましたが、Nerd Dinner アプリケーションなどで、名前が一致しない例を見てきました。このマッピングはどこで、またはどのように確認できますか? ありがとう。
3 に答える
6
public class EmployeesController
{
public ViewResult Index()
{
return View("CustomerName");
}
}
検索対象:
Views/Employees/CustomerName.aspx
Views/Employees/CustomerName.ascx
Views/Shared/CustomerName.aspx
Views/Shared/CustomerName.ascx
それはかなりそれです..
View(); を返すだけの場合。名前を指定しないと、コントローラー アクションと同じ名前のビューが検索されます。この場合、Index.aspx
于 2009-08-06T14:40:41.027 に答える
2
ビュー名を指定する方法は 3 つあります。
慣例により
public ActionResult MyAction {
return View()
}
これにより、アクション メソッドの名前 (別名 "MyAction.ascx" または "MyAction.aspx") を持つビューが検索されます。
** 名前で **
public ActionResult MyAction {
return View("MyViewName")
}
これにより、"MyViewName.ascx" または "MyViewName.aspx" という名前のビューが検索されます。
** アプリケーション パス別 **
public ActionResult MyAction {
return View("~/AnyFolder/MyViewName.ascx")
}
この最後の 1 つは、この 1 つの場所、指定した場所だけを調べます。
于 2009-08-08T05:14:04.120 に答える
0
これは、コントローラー内のアクションの名前に基づいています。次に例を示します。
UserController という名前のコントローラーがあります。
そのコントローラーでのアクションの 1 つに Index という名前があります。
return View(); と言うと
Views ディレクトリの User フォルダで、Index.aspx または Index.ascx を探します。
また、共有フォルダも検索します。
于 2009-08-06T14:41:19.887 に答える