如何在显示视图的主要部分后将输出添加到ASP.NET视图?如果你愿意,可以选择“实时”。以下类型的工作,我在睡眠之间立即获得每一行输出,但在页面顶部输出所有Response.Write测试,而不是在整体布局中输出已绘制视图的一部分。并且直到消息之后我才会获得主要的View数据。我看过类似的问题而且SignalR看起来有点过分而且我不需要轮询,我只想添加一些立即输出,因为我在通常需要30秒的时间内提出它,但是想要绘制其余的首先查看,以便在生成时将输出附加到末尾。想法赞赏。感谢。
这是我的控制器:
[HttpGet]
public ActionResult MyView()
{
return View();
}
这是我的观点:
@{Layout = "~/Views/Shared/_SplitterLayout.cshtml";}
@using (Html.BeginForm())
{
<div class="Clear">
<p>This rest of this page should show loading data from Excel as it happens.</p>
</div>
<div>
@Html.Partial("MyPartialView")
</div>
}
这是我的PartialView:
@{
Response.Flush();
Response.Write("<br/>Started.");
Response.Flush();
Response.Write("<br/>Waiting 2 seconds...");
Response.Flush();
System.Threading.Thread.Sleep(2000);
Response.Write("<br/>Waiting 2 seconds...");
Response.Flush();
System.Threading.Thread.Sleep(2000);
Response.Write("<br/>Finished.");
Response.Flush();
}
答案 0 :(得分:1)
尽可能多地输出视图。
使用AJAX请求长时间加载数据并使用JavaScript客户端编写输出。
有很多框架可以帮助你做到这一点。您甚至可以让AJAX请求加载局部视图,只需将响应写入div的内容。