【发布时间】:2015-12-15 12:39:10
【问题描述】:
Ajax 调用
<div id="partialSummaryDiv">@{Html.RenderPartial("CalendarPartialView");}</div>
<script type="text/javascript">
function SearchByMonth()
{
var x = document.getElementById("MonthInputField");
if (x.value != "") {
$.ajax({
url: '/Employees/SearchWholeMonth',
type: 'GET',
data: { "month": x.value, "id": @y },
error: function (data) {
alert('Error!');
},
success: function (data) {
$('#partialSummaryDiv').html(data);
alert("succes");
}
});
}
else {
alert('Date not selected!')
}
}
</script>
控制器
[HttpGet]
public PartialViewResult SearchWholeMonth(DateTime month,int id)
{
...calculations
return PartialView("CalendarPartialView", TotalList);
}
所以我有这个 ajax 调用和带有部分视图的控制器。 我用断点运行控制器代码,计算和返回的结果是正确的。 问题是我按下按钮后没有结果,没有错误。 在网络上的开发人员控制台中,请求的代码为 200 表示 OK,并且那里也没有错误。 ajax函数没有进入succes,最后什么也没有显示。 请帮忙!类型
在局部视图中我也有
@model List<float> 我正在展示这样的结果
@String.Format("{0} {1}", @i, @Model[j])
编辑!!!!!!!!!!!!!!!!!!!!! ajax/view/controller 工作正常,但部分视图未在详细信息页面上呈现! 我试图在不同的页面上呈现它并且它在那里工作。 我怎样才能让它在详细信息页面上呈现!
【问题讨论】:
-
您应该在控制器中返回 Json。 Ajax 无法处理 PartialView 结果
-
我对另一个视图使用了相同的方法,并且它正确地显示了那个视图
-
您的浏览器可能缓存了来自服务器的以前的不完整结果。尝试直接访问 URL。如果该 URL 返回的数据会频繁更改,您可能需要切换到 POST,否则使用 $.ajaxSetup({ cache: false });
-
我确实放了 cache:false 并尝试了一个我没有使用过的不同的 id,但它仍然没有工作......
-
点击按钮时,您是否进入 SearchByMonth 功能?
标签: jquery asp.net ajax asp.net-mvc asp.net-mvc-partialview