Asp.net mvc 不引人注目的ajax-视图完全被部分视图取代

Asp.net mvc 不引人注目的ajax-视图完全被部分视图取代,asp.net-mvc,Asp.net Mvc,我搜索了多个示例,并尝试了几种方法使其正常工作。目前,我正在尝试使用一个指向PartialViewResult方法的Ajax.htmlink替换一个div 我试过了 检查网络和javascript控制台,确保所有my.js都已加载 解除绑定stock jqueryval捆绑包并手动包含脚本 仔细检查,我没有其他具有相同更新目标Id的DOM元素 检查我的AjaxOption以确保一切都是正确的 我知道unobtrusive正在工作,因为我的电子邮件副本远程验证检查正在工作 现在,我将显示调试过

我搜索了多个示例,并尝试了几种方法使其正常工作。目前,我正在尝试使用一个指向PartialViewResult方法的Ajax.htmlink替换一个div

我试过了
  • 检查网络和javascript控制台,确保所有my.js都已加载
  • 解除绑定stock jqueryval捆绑包并手动包含脚本
  • 仔细检查,我没有其他具有相同更新目标Id的DOM元素
  • 检查我的AjaxOption以确保一切都是正确的
我知道unobtrusive正在工作,因为我的电子邮件副本远程验证检查正在工作

现在,我将显示调试过程的一些屏幕截图

以下是加载ajax之前页面的外观 我的目标是替换右侧当前包含email、name和zipcode值的容器

结果如下##

这就是我的视图代码的样子



我的帐户
  • @ActionLink(“警报”,“管理警报”,空,新AjaxOptions { HttpMethod=“GET”, UpdateTargetId=“ajax更新”, InsertionMode=InsertionMode.Replace, OnBegin=“ajaxBegin”, OnFailure=“ajaxFail”, OnComplete=“ajaxComplete”, OnSuccess=“ajaxSuccess” },新的{@class=“active”})
增加能见度 别忘了“碰撞”你的列表以获得更多的可见性

@Html.Partial(“_ManageUserAccount”,模型)

部分视图代码##

@Model.Username:Alerts

更改您的提醒


@使用(Html.BeginForm(“ManageAlerts”,“Account”,FormMethod.Post,new{@class=“form vertical”,role=“form”})) { @Html.AntiForgeryToken() @Html.CheckBoxFor(P=>P.EmailAlertsOn)@Html.LabelFor(P=>P.EmailAlertsOn) 电子邮件警报选项 @Html.CheckBoxFor(P=>P.emailonnewmessagon)@Html.LabelFor(P=>P.emailonnewmessagon) @Html.ValidationMessageFor(P=>P.EmailOnNewMessageOn) @Html.CheckBoxFor(P=>P.EmailOnReplyOn)@Html.LabelFor(P=>P.EmailOnReplyOn) @Html.ValidationMessageFor(P=>P.EmailOnReplyOn) @CheckBoxFor(P=>P.EmailOnAccountUpdateOn)@Html.LabelFor(P=>P.EmailOnAccountUpdateOn) @Html.ValidationMessageFor(P=>P.EmailOnAccountUpdateOn)
保存详细信息 }

最后是控制器代码##
[HttpGet]
public PartialViewResult ManageAlerts()
{
var user=UserManager.FindById(Guid.Parse(user.Identity.GetUserId());
Models.Account.ManageAlertsViewModel vm=新的ManageAlertsViewModel();
vm.Username=user.Username;
vm.EmailAlertsOn=user.EmailAlertsOn;
vm.EmailOnAccountUpdateOn=user.EmailOnAccountUpdateOn;
vm.EmailOnNewMessageOn=user.EmailOnNewMessageOn;
vm.EmailOnReplyOn=user.EmailOnReplyOn;
返回PartialView(“\u ManageAlerts”,vm);
}  
@Scripts.Render(“~/bundles/jqueryval”)
<div class="container">
<br />
<br />
<div class="row">
    <div class="col-sm-3">
        <div class="sidebar-account">
            <div class="row ">
                <div class="col-lg-12">
                    <div class="panel panel-default">
                        <div class="panel-heading">My Account</div>
                        <div class="panel-body">
                            <ul class="nav">
                                <li>
                                    <a class="active" href="account_dashboard.html">Me</a>
                                </li>
                                <li>
                                    @Ajax.ActionLink("Alerts", "ManageAlerts", null, new AjaxOptions
                               {
                                   HttpMethod = "GET",
                                   UpdateTargetId = "ajax-update",
                                   InsertionMode = InsertionMode.Replace,
                                   OnBegin = "ajaxBegin",
                                   OnFailure = "ajaxFail",
                                   OnComplete = "ajaxComplete",
                                   OnSuccess = "ajaxSuccess"
                               }, new { @class = "active" })
                                </li>
                                <li>
                                    <a class="active" href="account_account.html">Linked Accounts</a>
                                </li>
                                <li>
                                    <a class="active" href="account_ads.html">Manage ads</a>
                                </li>
                                <li>
                                    <a class="active" href="account_ad_create.html">Create new ad</a>
                                </li>
                            </ul>

                        </div>
                    </div>
                </div>
            </div>

            <div class="row hidden-xs">
                <div class="col-lg-12">
                    <div class="well">
                        <div class="row ">
                            <div class="col-lg-3">
                                <img src="css/images/icons/Crest.png" width="45" />
                            </div>
                            <div class="col-lg-9">

                                <h4 style="margin-top: 0">Increase visibility</h4>
                                <p>Don't forget to 'bump' your listing to gain more visibility</p>

                            </div>
                        </div>

                    </div>
                </div>
            </div>

        </div>
    </div>

    <div class="col-sm-9">
        <div id="ajax-update">
            @Html.Partial("_ManageUserAccount", Model)
        </div>

    </div>
    <br />

</div>
<div id="fadein-div">
<div class="panel panel-default">
    <div class="panel-heading">@Model.Username : Alerts</div>
    <div class="panel-body">
        <br />
        <div class="row">
            <div class="col-sm-12">
                <p><span style="font-weight:bold">Change your alerts!</span></p>
            </div>
        </div>

        <br />

        @using (Html.BeginForm("ManageAlerts", "Account", FormMethod.Post, new { @class = "form-vertical", role = "form" }))
        {
            @Html.AntiForgeryToken()
            <fieldset>
                <div class="row">
                    <div class="col-sm-12 ">

                        <div class="form-group">
                            <div class="row">
                                <div class="col-sm-2">
                                    <div class="checkbox">
                                        @Html.CheckBoxFor(P => P.EmailAlertsOn) @Html.LabelFor(P => P.EmailAlertsOn)
                                    </div>

                                </div>
                            </div>

                        </div>

                        <div id="control-div">
                            <div class="form-group">
                                <h3>Email alert options</h3>
                            </div>

                            <div class="form-group">
                                <div class="checkbox">
                                    @Html.CheckBoxFor(P => P.EmailOnNewMessageOn) @Html.LabelFor(P => P.EmailOnNewMessageOn)
                                </div>
                                <div class="text-danger">
                                    @Html.ValidationMessageFor(P => P.EmailOnNewMessageOn)
                                </div>
                            </div>
                            <div class="form-group">
                                <div class="checkbox">
                                    @Html.CheckBoxFor(P => P.EmailOnReplyOn) @Html.LabelFor(P => P.EmailOnReplyOn)
                                </div>
                                <div class="text-danger">
                                    @Html.ValidationMessageFor(P => P.EmailOnReplyOn)
                                </div>
                            </div>
                            <div class="form-group">
                                <div class="checkbox">
                                    @Html.CheckBoxFor(P => P.EmailOnAccountUpdateOn) @Html.LabelFor(P => P.EmailOnAccountUpdateOn)
                                </div>
                                <div class="text-danger">
                                    @Html.ValidationMessageFor(P => P.EmailOnAccountUpdateOn)
                                </div>
                            </div>

                        </div>


                        <br />
                        <button type="submit" class="btn btn-primary">Save details</button> &nbsp;&nbsp;


                    </div>




                </div>
            </fieldset>
        }


    </div>
</div>
 [HttpGet]
    public PartialViewResult ManageAlerts()
    {
        var user = UserManager.FindById(Guid.Parse(User.Identity.GetUserId()));
        Models.Account.ManageAlertsViewModel vm = new ManageAlertsViewModel();
        vm.Username = user.UserName;
        vm.EmailAlertsOn = user.EmailAlertsOn;
        vm.EmailOnAccountUpdateOn = user.EmailOnAccountUpdateOn;
        vm.EmailOnNewMessageOn = user.EmailOnNewMessageOn;
        vm.EmailOnReplyOn = user.EmailOnReplyOn;

        return PartialView("_ManageAlerts", vm);
    }  


<!-- js library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js"></script>
<script src="~/Themes/Authenticity%20Forms/Authenty/js/bootstrap.min.js"></script>
<script src="~/Themes/Authenticity%20Forms/Authenty/js/jquery.icheck.min.js"></script>
<script src="~/Themes/Authenticity%20Forms/Authenty/js/waypoints.min.js"></script>

<!-- authenty js -->
<script src="~/Themes/Authenticity%20Forms/Authenty/js/authenty.js"></script>

<!-- preview scripts -->
<script src="~/Themes/Authenticity%20Forms/Authenty/js/preview/jquery.malihu.PageScroll2id.js"></script>
<script src="~/Themes/Authenticity%20Forms/Authenty/js/preview/jquery.address-1.6.min.js"></script>
<script src="~/Themes/Authenticity%20Forms/Authenty/js/preview/scrollTo.min.js"></script>
<script src="~/Themes/Authenticity%20Forms/Authenty/js/preview/init.js"></script>



@Scripts.Render("~/bundles/jqueryval")