我们可以从控制器到视图(ajax-mvc)获得多个响应吗?

时间:2018-06-26 14:20:09

标签: c# ajax asp.net-mvc asp.net-mvc-4

我正在注册模块。流程就像:

  1. 将数据保存在数据库中。

  2. 通知用户数据已保存。

  3. 通过电子邮件发送密码。

  4. 再次获得更新UI。就像密码已经发送给电子邮件一样。

我想在对服务器的单个UI调用中执行此操作。 步骤1和步骤3已完成。但是我不知道如何异步完成步骤-2和步骤-4。

代码如下:

Dim lowestWeight As Integer = 0
For Each s As String In IO.File.ReadAllLines("textfile")
    Dim testScore As Integer
    If Integer.TryParse(s, testScore) Then
        lowestWeight = Math.Min(lowestWeight, testScore)
    End If
Next
LowestKgTextBox.Text = lowestWeight.ToString

完成这两项任务后,我只有一个答复。

1 个答案:

答案 0 :(得分:0)

这不是您的指导问题的解决方案,但这是我将如何构建的方法:

首先-创建一个事件表,其中包含用于交易ID,操作和状态的列。

用户将与按钮交互以保存数据。

页面会调用您的控制器,并被分配一个事务ID。这将返回到您的呼叫页面。

在内部,控制器然后调用单独的方法来保存数据并发送电子邮件。它将分配的事务ID传递给每种方法。

每个方法成功后,它将使用事务ID,状态和关联的操作更新事件表。

回到调用页面,现在有了交易ID,您的页面开始轮询另一种方法,以检查事件表中给定的操作和状态。它可以每隔五秒钟检查一次,您有什么事。

更新事件表后,您可以更新页面上的UI,以指示该操作已发生。

除了此单一功能之外,您还可以将事件表用于多种用途。无需添加Signal R或Meteor,或拥有全面的产品来处理排队的事件,这应该可以为您完成工作。

因此,用户只需单击一个按钮,页面就会随着操作完成而更新。