在我的ASP.net MVC 5应用程序中,我有很多调用不同的局部视图。要加载/刷新这些视图,我使用的是jQuery AJAX。
然而,我最终对jquery的调用很多,这看起来很丑陋和多余。我认为必须有更好的方法来做到这一点。
这是我的index.cshtml
中的脚本,我在这里调用部分视图。
$(document).ready(function() {
// load today's level
$.ajax({
url: '@Url.Action("_TodayLevel")',
type: 'GET',
contentType: 'application/json',
dataType: 'html',
//traditional: true,
}).success(function(e) {
$('#today-level').html(e);
});
// .... truncated to save space. But you get the idea, I have lots of this
// load host level
$.ajax({
url: '@Url.Action("_HostLevel")',
type: 'GET',
contentType: 'application/json',
dataType: 'html',
//traditional: true,
}).success(function (e) {
$('#host-level').html(e);
});
});
有没有更好的方法呢?
答案 0 :(得分:1)
在您提供的示例中,您实际上是在请求HTML页面,然后使用返回的HTML更新页面的一部分。
如果是这种情况,那么您只需使用jQuery的.load()
方法:https://api.jquery.com/load/
答案 1 :(得分:0)
您可以考虑使用以下代码来实现您想要的目标
@{Html.renderaction("_TodayLevel","Controller");}
如果您对这两个视图没有任何控制器操作,您也可以考虑使用
@{Html.renderPartial("_yourViews");}