Asp.net mvc 淘汰MVC-服务器操作调用未执行
我正试图建立一个网站,是作为一个免费的网站托管在Azure上,它是使用MVC4,与淘汰MVC。网站正在从控制器每隔4秒更新一个表。代码在本地执行时没有问题,但是当我将其部署到Azure网站时,它不会处理更新 我现在已经开始了一个全新的MVC4项目,有一些简单的函数使用knockout,显示当前时间,并且每隔0.5秒从控制器更新一次,它使用的结构与我为适当的网站编写的javascript相同。它给出了相同的问题,并且看起来好像ko.ServerAction调用正在停止javascript函数 看法 模型Asp.net mvc 淘汰MVC-服务器操作调用未执行,asp.net-mvc,azure,knockout.js,Asp.net Mvc,Azure,Knockout.js,我正试图建立一个网站,是作为一个免费的网站托管在Azure上,它是使用MVC4,与淘汰MVC。网站正在从控制器每隔4秒更新一个表。代码在本地执行时没有问题,但是当我将其部署到Azure网站时,它不会处理更新 我现在已经开始了一个全新的MVC4项目,有一些简单的函数使用knockout,显示当前时间,并且每隔0.5秒从控制器更新一次,它使用的结构与我为适当的网站编写的javascript相同。它给出了相同的问题,并且看起来好像ko.ServerAction调用正在停止javascript函数 看法
namespace MVCHelloWorld.Models
{
public class HelloWorldModel
{
public string Time { get; set; }
}
}
尝试将其添加到视图主体中:
<script type="text/javascript">
@* Replace 4000 with the timeout, in milliseconds *@
window.setInterval(startTime, 4000)
</script>
@*将4000替换为超时,以毫秒为单位*@
window.setInterval(开始时间,4000)
您的整个视图将如下所示:
@using PerpetuumSoft.Knockout
@model MvcApplication2.Models.HelloWorldModel
@{
var ko = Html.CreateKnockoutContext();
}
<script type="text/javascript">
function startTime() {
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
// add a zero in front of numbers<10
m = checkTime(m);
s = checkTime(s);
document.getElementById('time').innerHTML = h + ":" + m + ":" + s;
@ko.ServerAction("Index", "HelloWorld");
t = setTimeout(function() { startTime(); }, 500);
}
function checkTime(i) {
if (i < 10) {
i = "0" + i;
}
return i;
}
</script>
<body onload="startTime()">
<h2>Hello World - 2</h2>
<div id="time">
<script type="text/javascript">
@* Replace 4000 with the timeout, in milliseconds *@
window.setInterval(startTime, 4000)
</script>
<label>Knockout time</label>
@ko.Html.Span(m => m.Time)
</div>
</body>
@ko.Apply(Model)
@使用PerpetuumSoft.Knockout
@模型MVCAPApplication2.Models.HelloWorldModel
@{
var ko=Html.CreateKnockoutContext();
}
函数startTime(){
var today=新日期();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
//在数字前面加一个零(m.Time)
@ko.应用(模型)
您是否在javascript控制台中检查过该站点,以查看是否抛出了错误,并确保所有实体都按预期加载?是的,javascript应每0.5秒执行一次,加载的javascript时钟不会再次更新,但在发布到e Azure网站。
<script type="text/javascript">
@* Replace 4000 with the timeout, in milliseconds *@
window.setInterval(startTime, 4000)
</script>
@using PerpetuumSoft.Knockout
@model MvcApplication2.Models.HelloWorldModel
@{
var ko = Html.CreateKnockoutContext();
}
<script type="text/javascript">
function startTime() {
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
// add a zero in front of numbers<10
m = checkTime(m);
s = checkTime(s);
document.getElementById('time').innerHTML = h + ":" + m + ":" + s;
@ko.ServerAction("Index", "HelloWorld");
t = setTimeout(function() { startTime(); }, 500);
}
function checkTime(i) {
if (i < 10) {
i = "0" + i;
}
return i;
}
</script>
<body onload="startTime()">
<h2>Hello World - 2</h2>
<div id="time">
<script type="text/javascript">
@* Replace 4000 with the timeout, in milliseconds *@
window.setInterval(startTime, 4000)
</script>
<label>Knockout time</label>
@ko.Html.Span(m => m.Time)
</div>
</body>
@ko.Apply(Model)