如何在.NET Core 3中从控制器设置布局

9 浏览
0 Comments

如何在.NET Core 3中从控制器设置布局

目前,我正在将.NET MVC升级为.NET Core MVC。在MVC中,我们使用以下类似的方法,因此我需要保留该逻辑,并且在许多地方使用它。所以你能帮忙找到一种从.NET Core控制器设置布局页面的方法吗?

return View ("NameOfView", masterName: "viewName");

如何从控制器设置布局

0
0 Comments

在.NET Core 3中,有一种情况是需要从控制器(Controller)中设置布局(Layout)。下面将介绍出现这个问题的原因以及解决方法。

问题的原因是因为在.NET Core 3中,无法直接从控制器(Controller)中设置布局(Layout),这导致了一些困扰。但是,我们可以通过在_ViewStart文件中使用ViewData来解决这个问题。

解决方法如下:

1. 首先,我们需要在控制器(Controller)中设置ViewData,如下所示:

public IActionResult Index()
{
    ViewData["Layout"] = "_Layout";
    return View();
}

在上述代码中,我们将"_Layout"布局(Layout)设置为ViewData中的"Layout"键的值。

2. 接下来,在_ViewStart文件中,我们可以获取并设置布局(Layout),如下所示:

@{
    Layout = ViewData["Layout"] as string;
}

在上述代码中,我们通过将ViewData中的"Layout"键的值转换为字符串,将其赋值给布局(Layout)。

通过以上步骤,我们可以从控制器(Controller)中设置布局(Layout),并在_ViewStart文件中使用ViewData来获取并应用该布局。

在.NET Core 3中,我们无法直接从控制器(Controller)中设置布局(Layout)。但是,我们可以通过在_ViewStart文件中使用ViewData来实现此功能。通过在控制器(Controller)中设置ViewData,并在_ViewStart文件中获取并设置布局(Layout),我们可以轻松地解决这个问题。

0
0 Comments

在ASP.NET和ASP.NET Core中,ViewResult的使用方式有所不同。在ASP.NET中,可以在控制器中设置masterpage,但在ASP.NET Core中却没有提供相应的方法来设置layout。

解决方法是在视图中设置layout。可以通过以下代码来设置layout:

@{

Layout = "_myLayoutPage";

}

这样就可以在ASP.NET Core中设置layout了。

0