Asp.net mvc 在绘制MVC视图后,如何更新它?

Asp.net mvc 在绘制MVC视图后,如何更新它?,asp.net-mvc,response.write,Asp.net Mvc,Response.write,在显示了ASP.NET视图的主要部分后,如何向该视图添加输出?如果你愿意,可以说是“实时的”。下面的工作方式是,我在睡眠之间立即获得每一行输出,但输出所有响应。在页面顶部编写test,而不是在页面的末尾作为整体布局中已绘制视图的一部分。直到消息发布之后,我才绘制主视图数据。我已经看过类似的问题,SignalR似乎有些过火了,我不需要投票,我只想在通常需要30秒的时间内添加一些即时输出,但我想先绘制视图的其余部分,以便在生成时将输出附加到末尾。我很欣赏你的想法。谢谢 这是我的控制器: [H

在显示了ASP.NET视图的主要部分后,如何向该视图添加输出?如果你愿意,可以说是“实时的”。下面的工作方式是,我在睡眠之间立即获得每一行输出,但输出所有响应。在页面顶部编写test,而不是在页面的末尾作为整体布局中已绘制视图的一部分。直到消息发布之后,我才绘制主视图数据。我已经看过类似的问题,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>
}
@{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,感谢您的输入。我不得不说,我放弃了这种方法,最终还是选择了信号器,因为它对我想要做的一切都非常有用!信号机看起来是一个很棒的系统,我自己也没有机会玩它,但我信任的很多人都说它有多棒。