0

ソリューションのViewsフォルダーの下に新しいフォルダーを作成してRazorViewを作成し、そのフォルダーを右クリックして[Viewの追加]を選択しました。

その後、コントローラーフォルダーに移動して右クリックし、[コントローラーの追加]を選択しました。ただし、作成したビューをコントローラーにアタッチしたいのですが、Visual Studioは、次の場合にビューが存在することを認識しません。

return View("MyViewName");

Visual Studioに既存のビューを認識させるにはどうすればよいですか?Resharperを使用してRazorビューを作成することで問題を解決したくありません(すでにビューを作成しているため)。

前もって感謝します!

4

2 に答える 2

3

何かを書く必要はありません。フォルダーにはコントローラーという名前を付ける必要があります。他のフォルダー名が必要な場合は、フル パスを入力します。

return View("~/Views/MyCustomFolder/MyViewName.cshtml");
于 2012-09-20T18:21:17.070 に答える
2

これは、ASP.NET MVC の構成概念に対する規則です。コントローラー アクションは、ビューと同じように呼び出す必要があります。

public class MyBeautifulController : Controller
{
  public ActionResult MyActionIndex()
  {
    return View();
  }
}

ビューが呼び出され、次のように配置されていることに感謝します。~/Views/MyBeautiful/MyActionIndex.cshtml

基本的に、コントローラークラス名の最後の「コントローラー」を削除します。

これが COC (Convention Over Configuration) です。ここで、アクションのように呼び出されないビューを呼び出したい場合は、アクションで次のことを行います。

public class MyBeautifulController : Controller
{
  public ActionResult MyActionIndex()
  {
    return View("ViewCalledDifferently", new MyModel());
  }
}

この場合、ビューは次のように呼び出されて配置され、 ~/Views/MyBeautiful/ViewCalledDifferently.cshtmlMyModel をモデル タイプとして受け入れます。

お役に立てれば。

于 2012-09-20T18:29:47.647 に答える