[英]ASP.NET MVC AJAX PartialView Telerik UI not loading
我有一个PartialView,它使用AJAX更新。 使用AJAX更新Div时,将正确加载HTML元素,但不会加载Telerik图表。 图表中的数据源未调用Action方法:
.DataSource(ds => ds.Read(read => read.Action("Movies_Read", "Movies")))
最初加载PartialView而不使用AJAX时,数据源正在调用action方法,并且图表已正确加载。
根据Telerik ASP.NET PartialView AJAX ,需要对OnSuccess事件进行以下Javascript调用:
<script type="text/javascript">
function updatePlaceholder(context) {
// the HTML output of the partial view
var html = context.get_data();
// the DOM element representing the placeholder
var placeholder = context.get_updateTarget();
// use jQuery to update the placeholder. It will execute any JavaScript statements
$(placeholder).html(html);
// return false to prevent the automatic update of the placeholder
return false;
}
我已经尝试了文档中提到的javascript,但是尽管我已经添加了MicrosoftAjax.js和MicrosoftMvcAjax.js,但get_data()和get_updateTarget()并不存在。 我怀疑这些已过时。 我也尝试了其他javascript函数,但没有任何运气。
我的AJAX电话是:
@using (Ajax.BeginForm("UpdateMoviesChart", "Movies", new AjaxOptions { UpdateTargetId = "MoviesDiv", InsertionMode = InsertionMode.Replace, OnSuccess = "updatePlaceholder", }))
使用AJAX时如何正确加载Telerik Chart?
在视图中,应添加以下脚本以使用Ajax更新Div:
视图:
<div class="chart-wrapper"></div>
<script>
$(function () {
$.ajax({
url: "@(Url.Action("Movies_Read", "Movies"))",
success: function (data) {
$(".chart-wrapper").html(data);
}
});
})
</script>
另外,控制器应更新为将ActionResult作为返回类型。
控制器:
public ActionResult RemotePartialView()
{
return PartialView("remote_partial_view");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.