Jquery location.href的更好解决方案
我有下表:Jquery location.href的更好解决方案,jquery,asp.net,ajax,asp.net-mvc,Jquery,Asp.net,Ajax,Asp.net Mvc,我有下表: 这基本上是使用.cshtml中的foreach和append加载的。当我点击一个文件夹时,它会给我内容并用新内容重新加载表格。我使用.ajax获取内容,并使用window.location.href重新加载页面。但是,使用location.href重新加载页面确实需要很多时间。页面的性能也很差,因为它再次调用location.href上的服务器端代码。对于这种情况,您有什么建议?您说了一些关于.cshtml的内容,因此我将尝试向您解释如何在asp.net mvc中实现这一点 你说你
这基本上是使用
.cshtml
中的foreach
和
append加载的。当我点击一个文件夹时,它会给我内容并用新内容重新加载表格。我使用.ajax
获取内容,并使用window.location.href
重新加载页面。但是,使用location.href
重新加载页面确实需要很多时间。页面的性能也很差,因为它再次调用location.href
上的服务器端代码。对于这种情况,您有什么建议?您说了一些关于.cshtml的内容,因此我将尝试向您解释如何在asp.net mvc中实现这一点
你说你正在使用ajax调用。没关系
请创建一个局部视图(),该视图将用于显示html for files视图。在您的操作中(您从ajax调用)
RenderPartialViewToString此处:
在ajax的成功函数中,您将收到FileViewHTML调用
$.ajax( url: 'godKnows/RenderFilesView',
success: function(response){
// access response.FilesViewHtml
// And you can do something like:
$('#container').html(response.FilesViewHtml);
});
而且不需要重新加载页面,天知道会发生什么。您如何处理客户端缓存?为什么要重新加载页面?@Curt:我如何刷新同一个表中的内容?新内容是从服务器中提取出来的。@Heru Luin:如果你是说
.ajax
缓存
,那么我并没有特别提到关于ajax请求的任何内容,所以默认情况下它可能是真的
,我知道这种方法,但不知何故我一直在避免它,因为我在c#中生成了难看的HTML字符串。然而,这似乎是实现这一要求的唯一方法。。。无论如何,谢谢你的回答:)
$.ajax( url: 'godKnows/RenderFilesView',
success: function(response){
// access response.FilesViewHtml
// And you can do something like:
$('#container').html(response.FilesViewHtml);
});