Asp.net mvc 在绘制MVC视图后,如何更新它?
在显示了ASP.NET视图的主要部分后,如何向该视图添加输出?如果你愿意,可以说是“实时的”。下面的工作方式是,我在睡眠之间立即获得每一行输出,但输出所有响应。在页面顶部编写test,而不是在页面的末尾作为整体布局中已绘制视图的一部分。直到消息发布之后,我才绘制主视图数据。我已经看过类似的问题,SignalR似乎有些过火了,我不需要投票,我只想在通常需要30秒的时间内添加一些即时输出,但我想先绘制视图的其余部分,以便在生成时将输出附加到末尾。我很欣赏你的想法。谢谢 这是我的控制器:Asp.net mvc 在绘制MVC视图后,如何更新它?,asp.net-mvc,response.write,Asp.net Mvc,Response.write,在显示了ASP.NET视图的主要部分后,如何向该视图添加输出?如果你愿意,可以说是“实时的”。下面的工作方式是,我在睡眠之间立即获得每一行输出,但输出所有响应。在页面顶部编写test,而不是在页面的末尾作为整体布局中已绘制视图的一部分。直到消息发布之后,我才绘制主视图数据。我已经看过类似的问题,SignalR似乎有些过火了,我不需要投票,我只想在通常需要30秒的时间内添加一些即时输出,但我想先绘制视图的其余部分,以便在生成时将输出附加到末尾。我很欣赏你的想法。谢谢 这是我的控制器: [H
[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>
}
@{Layout=“~/Views/Shared/_SplitterLayout.cshtml”}
@使用(Html.BeginForm())
{
此页面的其余部分应显示从Excel加载数据的过程
@Html.Partial(“MyPartialView”)
}
以下是我的个人观点:
@{
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();
@{
Response.Flush();
Response.Write(“
已启动”);
Response.Flush();
响应。写入(“
等待2秒…”);
Response.Flush();
系统线程线程睡眠(2000);
响应。写入(“
等待2秒…”);
Response.Flush();
系统线程线程睡眠(2000);
回答。写(“
完成”);
Response.Flush();
}立即输出尽可能多的视图 使用AJAX请求长时间加载数据,并使用JavaScript客户端编写输出
有很多框架可以帮助您做到这一点。您甚至可以让AJAX请求加载一个局部视图,只需将响应写入div的内容。Timothy,感谢您的输入。我不得不说,我放弃了这种方法,最终还是选择了信号器,因为它对我想要做的一切都非常有用!信号机看起来是一个很棒的系统,我自己也没有机会玩它,但我信任的很多人都说它有多棒。