0
我正在用MVC 2的Ajax支持進行標籤導航控制:Ajax.BeginForm
。出於某種原因,它可以在Safari和Firefox中正常工作,但是當我在IE8中加載它時,瀏覽器會將Ajax方法(控制器操作)返回到整個頁面(即執行非Ajax提交)。ASP.NET MVC 2 Ajax在IE8中不起作用,但在Safari和Firefox中工作
加價:
<% using (Ajax.BeginForm(new AjaxOptions { UpdateTargetId = "tabContent"})) { %>
<ul id="tabnav">
<li id="TabOne"><a href="#" onclick="updateTab(event)">Tab 1</a></li>
<li id="TabTwo"><a href="#" onclick="updateTab(event)">Tab 2</a></li>
<li id="TabThree"><a href="#" onclick="updateTab(event)">Tab 3</a></li>
<%: Html.Hidden("tabId") %>
</ul>
<% } %>
<div id="tabContent"></div>
這裏的JavaScript的:
function updateTab(evt) {
var $target = $(evt.target);
var selectedTabId = $target.parent().attr('id');
$('#tabId').val(selectedTabId);
// submit the form AJAXly
$target.closest('form').submit();
// hide the current content
$('#tabContent').empty();
// update the selected tab
$('#tabnav li').removeClass('currentTab');
$('#' + selectedTabId).addClass('currentTab');
// suppress default link action
return false;
}
控制器:
[HttpPost]
public ActionResult Index(string tabId)
{
ViewData["tabId"] = tabId;
// redirect to the selected tab
return RedirectToAction("Index", tabId);
}