【发布时间】:2021-08-17 07:47:02
【问题描述】:
我必须对 MVC 应用程序进行更改。
场景: 具有各种视图等的 MVC 应用程序。 根据路线图,默认视图是“Views\Home\Index.cshtml”。
问题: 我需要根据系统在启动时从数据库中检索的值加载不同的视图。 打开应用程序时,读取数据库表以确定要显示的视图。这是通过 _layout.cshtml 中的静态方法完成的,如下所示:
@if (@CarnetsMVC.Classes.Utilities.GetView =="??")
{
do something
}
在 Utilities 类中:
public static string WhatView()
{
try
{
DataRow row = (new DALUsers()).GetView().Tables[0].Rows[0]["view"].ToString();
}
catch
{
return "";
}
}
public static string GetView
{
get
{
return WhatView();
}
}
示例 在正常工作时间内,所有用户都会看到“Views\Home\Index.cshtml”,但在夜间,每个班次都必须根据管理员选择的视图看到该班次的特定视图。选择什么视图以及选择什么视图是由外部因素决定的,所以基本上应用程序会在每次加载时检查数据库以确定默认视图。
问题 在系统加载期间不访问 HomeController Index 方法。只有在主页刷新时才会被点击。
我的尝试 我在 _layout 视图中尝试了 jquery - 仍然去了 Home/Index.cshtml 我尝试在 HomeController/Index 中返回视图路径 - 仅在用户选择主页图标时才有效(主页/索引操作) 我尝试了各种路线图。 我试图在 _layout 的 jquery 中隐藏/显示。
当用户打开应用程序时,如何以编程方式打开另一个视图?
【问题讨论】: