MVC PartialView 循环回上一个 PartialView



我有一个带有索引的 MVC 控制器,当用户完成表单过程时,它将循环浏览多个PartialView

以下是索引:

@section pageMain {
<div id="partialView">
@Html.Partial("SelectAccount", SUPR.Models.Account.GetAccounts());
</div>
}

这工作正常,我得到选择帐户页面就好了。

我的问题是我有一个 AJAX 调用,当用户在SelectAccount页面上的表中选择一行时运行。应该发生的情况是,PartialView随后被另一个显示所选行详细信息的PartialView替换。这实际上确实有效,但大约 1 秒后,它会循环回SelectAccountPartialView,出于某种原因,查询字符串附加到 URL。

以前

下面是 AJAX 调用的代码:

$.ajax({
type: "GET",
url: "/Review/GetReviewView",
data: { profitCenter: profitCenterNo }
}).done(function (data) {
$('#partialView').html(data);
});

GetReviewView年来,控制器中唯一发生的事情是我返回带有PartialView名称和型号的PartialView。这是有效的,因为在我可以看到ReviewAccount视图的那一瞬间,正确的数据在字段中。

关于为什么会发生这种奇怪的行为的任何想法?

您是否在 JS 中捕获event?如果要触发click事件,则将event参数添加到该方法,然后在方法末尾添加:

event.preventDefault()

看看它是否仍然发生。这听起来像是客户端JS问题,而不是C#问题。

你这样做的方式实际上很好。曾经有一个名为ASP-AJAX之类的Microsoft库,不记得了,因为我不怎么使用它。这个库基本上允许你用ASP-AJAX-METHOD,ASP-AJAX-REFRESH-TYPE装饰HTML元素,它会自动做一些类似于你现在正在做的事情。转到服务器并检索分部视图。

最新更新