首页 > 解决方案 > 如何在特定网站中隐藏 MVC 的部分视图

问题描述

我在 MVC 中使用局部视图在 GeneralLayout 中显示登录表单,但我想在特定网站上隐藏此登录表单。我没有找到合适的解决方案,从这里尝试了很多例子:

@if (window.location.href == 'Index/Map' || window.location.href == 'Index/Game') {
    $("#PartialView").hide();
}

或这个:

var pathname = window.location.pathname;
console.log(pathname);
switch (pathname) {
    case "Index/Map":
        $("#PartialView").hide();
        break;
    case "Index/Game":
        $("#PartialView").hide();
        break;

我的代码如下所示:

<div class="main-content" id="HideButtons">

            <a id="logo" href="@Url.Action("Index", "Index")"></a>
            @if (PlayerSession.AppPlayerSession.IsLogged)
            {
                Html.RenderPartial("LogOnForm");
            }
            else
            {
                <button class="button" id="logIn">Log In</button>
            }
        </div>

标签: javascripthtmlmodel-view-controllerpartial-views

解决方案


您可以从此代码中使用隐藏和显示登录/注销部分:

@if(User.Authenticated)
{ Html.RenderPartial("LogOnForm");}

并显示部分:

 @if(!User.Authenticated)
{ Html.RenderPartial("LoginForm");}

推荐阅读