MVCアプリの1つに自動更新を実装する必要がありますが、問題が発生しています。jquery.get()と部分ビューを使用して自動更新ロジックを実行した場合、ChromeとOpera(最新バージョン)では完全に機能しますが、IE9では機能しません。問題がありますが、役に立ちません。
すべてのブラウザで自動更新機能をテストするために、小さなテストアプリを実行しました。このアプリでも同じ問題が発生しています。
私は同じもののために以下のコードを添付しました、そして誰かが私のコードの問題が何であるかを教えてもらえれば幸いです。これについてさらに情報が必要な場合はお知らせください。
ありがとう、アビ。
index.cshtml
@model IEnumerable<AutoRefreshInMVC.Views.ViewModels.HomeIndexModel>
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.7.2-vsdoc.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-1.7.2.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.8.20.min.js" type="text/javascript"></script>
<title>Index</title>
<script type="text/javascript">
function refresh() {
$.get('/Home/_Quotes', function (result) {
$('#refreshme').html(result);
});
}
$(document).ready(function () {
setInterval("refresh();", 10000);
});
</script>
</head>
<body>
<div id="refreshme">
@Html.Partial("_Quotes", Model)
</div>
HomeController
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
List<HomeIndexModel> model = new GetQuotes().GetData();
return View(model);
}
private static List<HomeIndexModel> GetData()
{
List<HomeIndexModel> model = new GetQuotes().GetData();
return model.OrderByDescending(i => i.Change).ToList();
}
public ActionResult _Quotes()
{
List<HomeIndexModel> model = GetData();
return View(model);
}
}
_Quotes.chtml
@model IEnumerable<AutoRefreshInMVC.Views.ViewModels.HomeIndexModel>
<table id="tblIndex">
<tr id="header">
<th>
Code
</th>
<th>
LastValue
</th>
<th>
CurrentValue
</th>
<th>
Change
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Code)
</td>
<td>
@Html.DisplayFor(modelItem => item.LastValue)
</td>
<td>
@Html.DisplayFor(modelItem => item.CurrentValue)
</td>
<td class="Change">
@Html.DisplayFor(modelItem => item.Change)
</td>
</tr>
}