2

コントローラーはどのビューを返すかをどのように認識しますか? 命名規則によるものだと思っていましたが、Nerd Dinner アプリケーションなどで、名前が一致しない例を見てきました。このマッピングはどこで、またはどのように確認できますか? ありがとう。

4

3 に答える 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 に答える