我在使用Ajax.ActionLink的updatetargetid屬性顯示div中的部分視圖時遇到問題。 這是我的控制器 -IE div,updatetargetid在後續請求中不刷新
[HandleError]
public class HomeController : Controller
{
static NumberViewModel model = new NumberViewModel();
public ActionResult Index()
{
model.IsDivisibleBy3 = (model.CurrentNumber % 3 == 0);
if (Request.IsAjaxRequest())
{
return PartialView("ViewUserControl1", model);
}
return View();
}
[ActionName("Increment")]
public ActionResult Increment()
{
model.CurrentNumber++;
return RedirectToAction("Index");
}
}
我的索引視圖 -
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Home Page
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<script type="text/javascript">
function ShowResult() {
var windowWidth = document.documentElement.clientWidth;
var windowHeight = document.documentElement.clientHeight;
leftVal = (windowWidth - 655)/2;
topVal = (windowHeight - 200)/2;
$('#result').css({
"left": leftVal,
"top": topVal
});
$('#background').fadeIn("slow");
}
</script>
<div id="background" class="hiddenDiv">
<div id="result" class="popupBox">
</div>
</div>
<%= Ajax.ActionLink("Show", "Index", new AjaxOptions() { UpdateTargetId="result", OnComplete="ShowResult", HttpMethod="Get" })%>
<%= Html.ActionLink("Increment","Increment") %>
</asp:Content>
這在FF但不是在IE6,IE8。
IE場景- 所以當我點擊'show'時,第一次顯示'0可以被3整除'。 如果點擊「遞增」,數字現在爲1,不能被3整除。 現在,如果點擊'顯示',它會顯示'0可以被3整除'。
在VS中保留調試點後,我發現第二次請求根本沒有去服務器。導致不更新updatetargetid div。
以前有人遇到過這個問題嗎?
可能重複的[asp.net mvc禁用瀏覽器緩存](http://stackoverflow.com/questions/1160105/asp-net-mvc-disable-browser-cache) – 2012-06-29 12:31:03