Asp.net mvc 开始运行时显示MVC消息
在编写脚本时,我想向视图显示一条消息,然后开始我的操作。但它没有显示任何内容,因为我的执行正在阻止我的startmessage。我不想使用jquery/javascript 我正在我的家庭/索引控制器中尝试此功能Asp.net mvc 开始运行时显示MVC消息,asp.net-mvc,Asp.net Mvc,在编写脚本时,我想向视图显示一条消息,然后开始我的操作。但它没有显示任何内容,因为我的执行正在阻止我的startmessage。我不想使用jquery/javascript 我正在我的家庭/索引控制器中尝试此功能 return View(model: "Synck started, " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); 在我看来 <div id="txt"> @Mo
return View(model: "Synck started, " + DateTime.Now.ToString("yyyy-MM-dd
HH:mm:ss"));
在我看来
<div id="txt">
@Model // Synck started, 2015-10-10 10:10:10
@Html.Action("Start", "Home")
</div>
@型号//同步开始,2015-10-10 10:10:10
@动作(“开始”,“主页”)
您可以尝试发送要显示并准备查看数据的消息
您的控制器:
controllerName ()
{
ViewData["Message"] ="Synck started, " + DateTime.Now.ToString("yyyy-MM-dd
HH:mm:ss";
return View();
}
你的看法:
<div id="txt">
@ViewData["Message"] // Synck started, 2015-10-10 10:10:10
@Html.Action("Start", "Home")
</div>
@ViewData[“Message”]//同步已开始,2015-10-10:10:10
@动作(“开始”,“主页”)
理想情况下,您应该将长时间运行的代码保存到一个单独的方法中,并从UI异步调用它。您可以使用jQueryajax
来实现这一点
public ActionResult Index()
{
return View();
}
public ActionResult SyncMydata()
{
//Execute your long running code here and return something as needed.
}
在索引视图中
<div id="status"></div>
<script type="text/javascript">
$(function(){
var url="@Url.Action("SyncMydata","Home")";
$("#status").html("Started syncing at "+new Date().toLocaleString());
$.post(url,function(res){
$("#status").html("Sync completed"));
});
});
</script>
$(函数(){
var url=“@url.Action”(“SyncMydata”,“Home”);
$(“#status”).html(“在“+new Date().toLocaleString()开始同步”);
$.post(url,函数(res){
$(“#状态”).html(“同步完成”);
});
});
如果需要,可以从索引操作(服务器端)获取开始时间,而不是使用javascript时间。这对我来说很有效
控制器::
// GET: Home/Index
public ActionResult Index()
{
ViewBag.Message = "Synck started, " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
return View();
}
观点:
@ViewBag.Message
为什么不想使用jquery/javascript?我很好奇它是在没有javascripts等的服务器上启动的。以前使用过jQuery,但每个月都要手动启动。我正在对13GB的数据进行语法分析,所以我认为可以使用startmessage。javascript/jquery位于客户端。查看我发布的答案。同样的结果,我想我应该通过电子邮件发送synkstart。没有jquery它就无法工作。你的答案与问题相比没有什么不同,但上面的答案正是我的意思