Joh*_*ore 1 jquery jquery-ui-dialog razor asp.net-mvc-3
使用ASP.NET MVC3(Razor),我有一个加载jQuery UI对话框的简单页面.
@{
ViewBag.Title = "Home Page";
}
<h2>yo</h2>
<div id="fileUpload">
</div>
<button id="button2">
Upload file
</button>
<script type="text/javascript">
$(document).ready(function () {
$('#button2').click(function () {
$fileUpload = $('#fileUpload');
$fileUpload.dialog({
minWidth: 500,
minHeight: 100,
title: 'Upload File(s)',
autoOpen: true,
buttons: {
'Upload': function () {
$('form').submit();
},
'Cancel': function () {
$(this).dialog('close');
}
},
open: function (event, ui) {
$(this).load('@Url.Action(MVC.FileUpload.FileUpload())');
},
close: function (event, ui) {
$(this).dialog('destroy');
//$(this).remove();
},
dialogClass: 'no-close',
closeText: '',
modal: true
});
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
注意open()表单调用控制器方法.它返回一个PartialView,看起来像这样......
public virtual ActionResult FileUpload(){return new PartialViewResult(); }
我遇到的问题是IE正在缓存对局部视图的调用.如果我更新局部视图,那么在我清除浏览器缓存之前它不会加载.
我在close()和.remove()上尝试了'destroy'方法.都没有效果.我还确认每次单击#button2时都会调用open().
关于如何保持对话框内容不被缓存的任何想法?
您可以将其添加到全局js代码中,以防止IE缓存ajax请求:
$.ajaxSetup({ cache: false });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5434 次 |
| 最近记录: |