我正在尝试学习 mvc。假设我的索引页面中有两个链接。我希望当我单击第一个链接时,我希望 MyPageOneController 应该调用并且 MyPageOne 视图应该显示。
同样我希望当我点击第二个链接时,我希望 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 的控制器
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();
}
}
}
所以请指导我出了什么问题。我检查当我点击第一个链接时,正确的控制器方法被调用但没有视图没有得到渲染。我在哪里犯错。请指导我在代码中需要更改哪些内容以加载我创建并存储在两个不同文件夹中的两个视图。谢谢
我得到了解决方案
public ActionResult MyPageOne()
{
return View("../Home/MyPageOne");
}
public ActionResult MyPageTwo()
{
//return View();
return View("../Test/MyPageTwo");
}
这样我重定向到视图并完成工作。你能告诉我如何在视图文件夹下以编程方式指定一些东西。我使用了代码 return View("~/Home/MyPageOne");
,但它没有用。如何提及根视图文件夹路径?
谢谢