Javascript 在Epi服务器中通过AJAX请求更新后刷新页面

Javascript 在Epi服务器中通过AJAX请求更新后刷新页面,javascript,dojo,episerver,Javascript,Dojo,Episerver,我有一个具有以下属性的Epi服务器页面模板: [Display( Name = "Selection Box", GroupName = Global.GroupNames.Contact )] public virtual bool SelectionBox { get; set; } 在我看来,我有这样的想法: @if (PageEditing.PageIsInEditMode) {

我有一个具有以下属性的Epi服务器页面模板:

        [Display(
            Name = "Selection Box",
            GroupName = Global.GroupNames.Contact
        )]
        public virtual bool SelectionBox { get; set; }
在我看来,我有这样的想法:

@if (PageEditing.PageIsInEditMode)
{

    @Html.CheckBoxFor(modelItem => Model.CurrentPage.SelectionBox,
        new
        {
            @class = "toggle",
            @data_url = Url.Action("UpdatePage", "DefaultPage"),
        })


    <script>
        $(function () {
            $('.toggle').change(function () {
                var self = $(this);
                var url = self.data('url');
                var value = self.prop('checked');

                $.ajax({
                    url: url,
                    data: { selected: value },
                    type: 'POST',
                    success: function (response) {
                        alert(response);
                    }
                });
            });
        });
    </script>
}
@if(PageEditing.PageIsInEditMode)
{
@Html.CheckBoxFor(modelItem=>Model.CurrentPage.SelectionBox,
新的
{
@class=“切换”,
@data_url=url.Action(“UpdatePage”、“DefaultPage”),
})
$(函数(){
$('.toggle').change(函数(){
var self=$(这是);
var url=self.data('url');
var值=self.prop('已检查');
$.ajax({
url:url,
数据:{所选:值},
键入:“POST”,
成功:功能(响应){
警报(响应);
}
});
});
});
}
基本上,当我更改复选框值时,它会将请求发送给控制器并更新页面上的值。我缺少的是,当这种情况成功发生时,我希望重新加载页面,但我找不到方法


我在这里不使用OOTB进行页面编辑,因为我正在寻找一种方法来为编辑器提供一些对组件的辅助编辑,但我不想构建dojo小部件。有什么想法可以让它工作吗?

使用Ajax的目的是设计一个不需要重新加载页面的SPA(单页应用程序)。如果您正在寻找重新加载页面,您可能可以这样做

window.location.reload()


但是页面重新加载可能会导致Ajax调用丢失返回的数据。

开发人员指南中有一章关于“使用客户端呈现进行页面编辑”,请参阅使用window.location.reload();在success函数中,如果无论何时单击复选框都要重新加载页面,那么您最好使用一个表单,将复选框值发布到
UpdatePage
操作方法中,并让它呈现页面。