【问题标题】:MVC - show different view than default during loadMVC - 在加载期间显示与默认不同的视图
【发布时间】: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 中隐藏/显示。

当用户打开应用程序时,如何以编程方式打开另一个视图?

【问题讨论】:

    标签: model-view-controller


    【解决方案1】:

    所以在收到大量反馈之后......我最终自己弄清楚了。

    我的菜鸟解决方案:

    在我的 Index.cshtml 中:

    <div id="divLoadLastn"></div>
    

    然后是一个脚本:

    <script>
        $(window).on('load', function () {
            if (somevalue == 'True') {
                var _url = '@(Url.Action("NormalAction","Home",null, Request.Url.Scheme))?_type=' + '@Model';
                $("#divLoadLastn").load(_url);
            }
            else {
                var _url = '@(Url.Action("AlternativeAction","Home",null, Request.Url.Scheme))';
                $("#divLoadLastn").load(_url);
            }
        });
    

    在确定要加载的内容后,我使用 jquery .load 将视图动态加载到 &lt;div id="divLoadLastn"&gt;&lt;/div&gt; 中。

    【讨论】:

      猜你喜欢
      • 2021-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多