在我从第一个局部视图提交信息后,我尝试加载第二个局部视图,但是在提交时,我的局部视图只是刷新,并且它在相同的局部视图而不是新视图上显示。我不确定为什么因为我是肯定的我设置我的控制器动作和剃刀代码来正确加载局部视图。我想这可能与我如何做js但我不确定。
这是我在第一个局部视图上点击提交时的ajax调用。在提交时,我想加载第二个视图:
var SubmitInfo = function () {
var form = $('form#FirstForm');
var result = form.valid();
var dataToSerialize = form.serialize();
if (result) {
$.ajax({
url: Url.getFullUrl('Home/FormOneInfo'),
type: 'Post',
data: dataToSerialize,
cache:false,
success: function (data) {
LoadFormTwo(data);
}
});
}
return result;
}
var LoadFormTwo = function (data) {
$.ajax({
type: "GET",
url: Url.getFullUrl("Home/FormTwoInfo"),
success: function (data) { }
});
}
为了清楚起见,当我调用第二个ajax方法时,它会转到我的控制器操作。在我的动作中,我将一个bool,DisplayFormTwo设置为true,然后在我的主视图中使用特定的div,我有这样的事情:
<div class="centerDivContent">
if (Model.DisplayFormOne == true){
@Html.Partial("FormOne", new ViewModels.FormOneViewModel())
else if(Model.DisplayFormTwo == true) {
@Html.Partial("FormTwo", new ViewModels.FormTwoViewModel())
}
</div>
这个部分确实在调试器中被击中,但是没有呈现新的视图。
答案 0 :(得分:0)
我可能读错了,但是当你调用LoadFormTwo
时,不应该将数据放入容器中success: function (data) { $(someElement).append(data) }