c# - 如何在按钮单击时调用异步?

标签 c# html asp.net angularjs

我正在像下面那样在 clikc 上调用 asyn

  private List<SuggestedItemsInput> suggestedItemAsync()
    {
        OHDWebService OHDService = new OHDWebService();
        List<SuggestedItemsInput> suggestedItemsList = OHDService.SaveSuggestedItems(ViewState["Body"].ToString(), hfdOrderRecordID.Value);
        return suggestedItemsList;
    }

点击

  protected async void imgbtnClaim_Click(object sender, EventArgs e)
    {
        try
        {
            Task<List<SuggestedItemsInput>> task = new Task<List<SuggestedItemsInput>>(suggestedItemAsync);
            task.Start();
            lblError.Text = "Please Wait. Proccessing...";
            List<SuggestedItemsInput> suggestedItems = await task;
            if (suggestedItems.Count > 0)
            {

但它阻塞了 UI,并且会出现如下所示的错误 enter image description here

如何实现这一点?

最佳答案

像这样创建一个网络方法:

[WebMethod]
public async Task Yourmethod(string value)
{
value = "abc";
  return value;
}

然后从您的前端使用 jquery 像这样点击此方法:

<script>
$(fucntion(){
    $.ajax({
        type: "POST",
        url: "..../Yourmethod",
        data: '{}',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: true,
        success: function (data) { }
    });
});

希望对您有所帮助。

关于c# - 如何在按钮单击时调用异步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54211962/

相关文章:

asp.net - 将 Mono 移植到 .Net

javascript - 尝试使用隐藏字段将值从 ASP.NET JavaScript 脚本传递到我的 C# 代码隐藏函数

c# - 以编程方式更改 Windows 10 锁屏背景(在桌面上)

c# - 为什么无法将任何字体保存为图像? (但要在我的窗体上显示它)

c# - 模型在 MVC4 中没有 ListBoxFor 的值

javascript - 如何让我的顶部菜单保持固定在滚动条上?

c# - UpdatePanel 中 ListView 中的 LinkBut​​ton 导致完全回发

javascript - 如何在 javascript 中更改 HTML 对象元素数据属性值

javascript - 如何创建一个计数器循环,该循环在单击提交按钮时启动并输出多行单词,每个单词前面有一个数字?

asp.net - 无法读取配置节 'system.web.extensions',因为它缺少节声明