私はmvcを学ぼうとしています。インデックス ページに 2 つのリンクがあるとします。最初のリンクをクリックすると、MyPageOneController が呼び出され、MyPageOne ビューが表示されます。
同じように、2 番目のリンクをクリックすると、MyPageTwoController が呼び出され、MyPagetwo ビューが表示されます。
私はそれをやろうとしますが、エラーが発生します。ここで、コントローラーとビューのフォルダー構造の写真を提供しています。見てください。
ホームフォルダーにある MyPageOne というビューと、test という別のフォルダーにある別のビューがあります。
ここで私は私の完全なコードを与えています
Index.cshtml コード
@{
ViewBag.Title = "Home Page";
}
<h2>@ViewBag.Message</h2>
<p>
@Html.ActionLink("Click on link one", "MyPageOne", "MyPageOne")
@Html.ActionLink("Click on link two", "MyPageTwo", "MyPageTwo")
</p>
MyPageOne.cshtml コード
@{
ViewBag.Title = "MyPageOne";
}
<h2>Welcome to MyPageOne !</h2>
MyPageTwo.cshtml
@{
ViewBag.Title = "MyPageTwo.cshtml";
}
<h2>Welcome to MyPageTwo !</h2>
MyPageOneController.cs と MyPageTwoController.cs という 2 つの controllder を作成しました。
MyPageOneController.cs のコード
namespace MvcApplication4.Controllers
{
public class MyPageOneController : Controller
{
//
// GET: /MyPageOne/
public ActionResult MyPageOne()
{
return View();
}
}
}
MyPageTwoController.cs のコード
namespace MvcApplication4.Controllers
{
public class MyPageTwoController : Controller
{
//
// GET: /MyPageTwo/
public ActionResult MyPageTwo()
{
return View();
}
}
}
何が間違っているのか教えてください。最初のリンクをクリックすると、正しいコントローラーメソッドが呼び出されますが、ビューがレンダリングされないことを確認します。私が間違えているところ。私が作成し、2 つの異なるフォルダーに保存されている 2 つのビューを読み込むために、コードで何を変更する必要があるか教えてください。ありがとう
私は解決策を得ました
public ActionResult MyPageOne()
{
return View("../Home/MyPageOne");
}
public ActionResult MyPageTwo()
{
//return View();
return View("../Test/MyPageTwo");
}
このようにして、ビューにリダイレクトしてジョブを完了します。ビューフォルダーの下にあるものをプログラムで指定する方法を教えてください。コードを使用しました return View("~/Home/MyPageOne");
が、機能しませんでした。ルート ビュー フォルダ パスを指定する方法は??
ありがとう