为什么返回的局部视图会影响我的样式应用于我的局部视图?

时间:2015-07-31 19:11:00

标签: html css asp.net-mvc asp.net-mvc-partialview

所以,

我有什么时候显示某个局部视图的bool,我注意到我的部分视图之一,它正确显示了正确的CSS样式和类。 但是,我的其他部分视图无法正确显示(我在控制台中也没有出现错误)并且我已将其缩小到这行代码,看看它是如何产生差异的:

 @Html.ActionLink(@Culture.GetString("ResetPasswordViaQuestionAnswer"), "GetUserName", "Account", new { style = "color:black; background: none;" }) 

OR

    <a href="@Url.Action("GetUserName", "Account")">@Culture.GetString("ResetPasswordViaQuestionAnswer")</a>

每当我使用@ Html.ActionLink或@ Url.Action调用我的动作来返回我的局部视图时,CSS样式就会中断。我的所有类都没有正确添加到我的输入和表单元素中。

以上称此操作为:

        [AllowAnonymous]
        public ActionResult GetUserName()
        {
            LoginModel loginModel = new LoginModel();
            GetUserName getUserName = new GetUserName();
            loginModel.getUserName = getUserName;
            loginModel.DisplayResetPasswordDialog = true; 
            return PartialView("Login", loginModel);
        }

然后进入我的登录部分视图,其中div包含:

@if(Model.DisplayChangePasswordDialog == true){
                    @Html.Partial("PasswordExp",new ViewModels.PasswordChangeViewModel())
               }else if (Model.DisplayResetPasswordDialog == true){
                    @Html.Partial("ResetUserPassword", new ViewModels.GetUserName())
               }else{
                     @Html.Partial("_login", Model)
            }

我上面所做的一些事情就是打破CSS样式和类附加到我的输入。视图已加载但视图加载不正确。没有应用样式或类。

为什么呢?

1 个答案:

答案 0 :(得分:1)

You can't (or shouldn't) redirect to a partial view because you're not going to be getting your _Layout file that contains your css and js.

Instead you should redirect to a view containing your partial view. That view should have a reference to your layout file.