mvc跳转指定视图_ASP.NET Core MVC 中自定义视图

ASP.NET C

4e33136d2fcd67cca83c589159b8a43d.png

ore MVC 中的视图发现

ASP.NET Core MVC 中有提供了几个 View()的重载方法。 如果我们使用下面提供 View()的重载方法,它将查找与 Action 方法同名的视图文件。

  • View()
  • View(object model)

例如,我们从HomeControllerDetails的 Action 方法返回一个 View()。因此,默认情况下,MVC 在“Views / Home”文件夹中查找名为 Details.cshtml 的视图文件。

public class HomeController : Controller{ public ViewResult Details() { return View(); }}

View(string viewName) 方法

如果您不喜欢此默认约定,则可以使用View(string viewName)方法的重载版本,该方法将 viewName作为参数,以查找具有您自己的自定义名称的视图文件。

在以下示例中,MVC 查找名为 **“Test.cshtml”而不是“Details.cshtml”**的视图文件。如果我们没有指定视图名称,它会查找 “Details.cshtml”

public class HomeController : Controller{ public ViewResult Details() { return View("Test"); }}

指定视图文件路径

使用此重载方法,我们可以指定视图名称视图文件路径。在以下示例中,我们指定了视图文件的绝对路径。因此,在这种情况下,MVC 在“MyViews”文件夹中查找名为“Test.cshtml”的视图文件。如果我们没有指定视图文件的路径,默认情况下,MVC 会在“Views / Home”文件夹中查找“Details.cshtml”文件。使用绝对路径时,必须加上.cshtml 扩展名。

public class HomeController : Controller{ public ViewResult Details() { return View("MyViews/Test.cshtml"); }}

请注意:使用绝对路径,会项目的根目录开始搜索,我们可以使用**/或〜/**。所以下面 3 行代码做的事情是一样的:

return View("MyViews/Test.cshtml");return View("/MyViews/Test.cshtml");return View("~/MyViews/Test.cshtml");

相对视图文件路径

指定视图文件路径时,我们也可以使用相对路径。使用相对路径,我们不指定文件扩展名 .cshtml。在以下示例中,MVC 在“Views / Test”文件夹中查找 Update.cshtml 文件。

public class HomeController : Controller{ public ViewResult Details() { return View("../Test/Update"); }}

如果你要的返回值在文件夹层次结构中超过了 2 个深度,请使用../两次,如下所示。在下面的例子中,MVC 查找“Details.cshtml”在“MyViews”文件夹中的根目录

public class HomeController : Controller{ public ViewResult Details() { return View("../../MyViews/Details"); }}

其他 view()重载方法

重载方法 描述 View(object model) 使用此重载方法将模型数据从控制器传递到视图。我们将在下一个视频中讨论从控制器传递数据到视图 View(string viewName, object model) 传递视图名称和模型数据。 下一节:将数据从 Controller 传递到 ASP.NET Core MVC 中的 View

欢迎添加个人微信号:Like若所思。

欢迎关注我的公众号,不仅为你推荐最新的博文,还有更多惊喜和资源在等着你!一起学习共同进步!

76b1c1c5b3e15f1aad4dd9449919cb37.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值