小编Joh*_*hny的帖子

等待form.submit()/ POST完成

我陷入了一个非常奇怪的情况。解释起来很复杂,但我会尽力而为。

问题的详细说明:

在导航的每个顶部单击(绿色甜甜圈/圆圈)或下一步按钮,如果存在并且有效,则必须提交该表单。如果无效,form.valid()会触发验证错误,返回false将停止任何进一步的传播。在我发现一个奇怪的行为(不是很持久)之前,此设置可以正常工作。具体来说,我第3个标签上的表格数据量很大。当我点击下一步按钮时,它实际上应该经过相同的过程:检查现有表格(如果有效),然后提交。Submit会调用POST操作方法,发布完成后将获取下一个选项卡的视图。它像这样运行5/10次,但有时GET在POST之前执行,这会导致下一页加载不完整的数据。当我放置断点进行调试时,我看到下一个选项卡的GET在当前选项卡的POST之前执行。

用户界面说明:

我有一个UI,<a>顶部有4个导航按钮-中心始终有一个表单-底部有上一个和下一个按钮。

在此处输入图片说明

使用MVC在MVC中构造表单 Ajax.BeginForm

对于<a>顶部的每个Nav链接元素,我都有一个JavaScript函数

var LoadTabs = function (e, arg) {  
    // This is to validate a form if one of the top links is clicked and form has incomplete fields...
    if (arg !== "prev" && arg !== "next") {
        if (!window.ValidateForm(false)) return false;
    }

    var url = $(this).attr('data'); // this contains link to a GET action method
    if (typeof url != "undefined") {
        $.ajax(url, { context: { param: arg } }).done(function …
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net-mvc jquery asp.net-mvc-5

3
推荐指数
1
解决办法
7893
查看次数

调用彼此依赖的多个异步方法

我正在寻找调用多个异步方法的最佳实践,其中每个下一个方法都依赖于之前返回的值.

我正在尝试两种方法

1) https://dotnetfiddle.net/waPL9L

public async void Main()
    {       
        var T1 = await Sum(2,5);
        var T2 = await Sum(T1, 7);
        var T3 = await Sum(T2, 7);      

        Console.WriteLine(T3);
    }

    public async Task<int> Sum(int num1, int num2){
        return await Task.Run(() => {
            // for some reason if i use Sleep... I don't see any results at all...
            //Thread.Sleep(2000);
            return num1 + num2;
        });
    }
Run Code Online (Sandbox Code Playgroud)

2) https://dotnetfiddle.net/1xycWH

public async void Main()
    {
        var T1 = Sum(2,5);
        var T2 = Sum(T1.Result, 7);
        var T3 …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous async-await asp.net-core

0
推荐指数
1
解决办法
413
查看次数