我是一个有用的助手,可以翻译文本。
我有一个部分视图,显示为站点中的页脚在_Layout。控制器每秒钟计算一个值 - 计算机犯罪受害者的数量。
控制器代码:
这段部分视图看起来是这样的 - 没有任何格式 - 目前我只想要它的值 :P
最后,这个页面的_Layout部分在这里:
如何在不刷新整个页面的情况下在_Layout中显示值并每秒更新 - 我猜这就是Partial视图将防止但不确定的内容。
抱歉问这么简单的问题,但我们都是从某个地方开始的。
谢谢
更新1
好的,我现在前进了一点。 GetVictimCount仅被调用一次。 这是我的当前控制器代码:
我的部分视图代码:
我的_布局代码
如所述,部分视图并没有每秒被调用,并且输出结果也不正确...我期望的是"Result "和一个格式为100,000的数字,这在控制器中是这样的,但实际上我得到的是100000。
我有一个部分视图,显示为站点中的页脚在_Layout。控制器每秒钟计算一个值 - 计算机犯罪受害者的数量。
控制器代码:
namespace EUWebRole.Controllers
{
public partial class PartialFooterStatisticsController : Controller
{
[OutputCache(NoStore = true, Location = OutputCacheLocation.Client, Duration = 1)]
public ActionResult Index()
{
// 14 victims per second.
// what second is it
int hrs = DateTime.Now.Hour;
int min = DateTime.Now.Minute;
int sec = DateTime.Now.Second;
int totalSeconds = sec + (min * 60) + (hrs * 3600);
int totalVictims = totalSeconds * 14;
ViewData["TotalVictims"] = totalVictims.ToString("N0");
return PartialView("_PartialFooterStatistics");
}
}
}
这段部分视图看起来是这样的 - 没有任何格式 - 目前我只想要它的值 :P
@ViewData["TotalVictims"]
最后,这个页面的_Layout部分在这里:
@Html.Partial("_PartialFooterStatistics")
如何在不刷新整个页面的情况下在_Layout中显示值并每秒更新 - 我猜这就是Partial视图将防止但不确定的内容。
抱歉问这么简单的问题,但我们都是从某个地方开始的。
谢谢
更新1
好的,我现在前进了一点。 GetVictimCount仅被调用一次。 这是我的当前控制器代码:
public partial class PartialFooterStatisticsController : Controller
{
public ActionResult Index()
{
return PartialView("_PartialFooterStatistics");
}
public JsonResult GetVictimCount()
{
int hrs = DateTime.Now.Hour;
int min = DateTime.Now.Minute;
int sec = DateTime.Now.Second;
int totalSeconds = sec + (min * 60) + (hrs * 3600);
int totalVictims = totalSeconds * 14;
//logic here for getting your count
var victimCount = totalVictims;
return Json(victimCount, JsonRequestBehavior.AllowGet);
}
}
我的部分视图代码:
<script src="~/Scripts/jquery-1.10.2.js"></script>
<div id="victimCountId">
Result
</div>
<script type="text/javascript">
var timeoutId;
$(document).ready(function () {
timeoutId = window.setTimeout(UpdateCount, 1000);
});
function UpdateCount() {
$.getJSON("PartialFooterStatistics/GetVictimCount", function (dataResponse) {
var div = $('#victimCountId').html(dataResponse);
printResult(div, item);
});
}
function printResult(div, item) {
div.append("Result " + item.Line1);
}
</script>
我的_布局代码
<footer>
<p>© @DateTime.Now.Year - My ASP.NET Application</p>
@Html.Partial("_PartialFooterStatistics")
</footer>
</div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
</body>
</html>
<script type="text/javascript">
$(function () {
setInterval(function () { $('#_PartialFooterStatistics').load('GetVictimStatistics'); }, 1000); // every 3 sec
});
</script>
function printResult(div, item) {
div.append("Result " + item.Line1);
}
</script>
如所述,部分视图并没有每秒被调用,并且输出结果也不正确...我期望的是"Result "和一个格式为100,000的数字,这在控制器中是这样的,但实际上我得到的是100000。