如何在母版页上放置 Async="true"

How to place Async="true" on masterpage

在我的母版页中,我将从数据库加载一些数据。我已将其放入异步方法中。对于普通页面,我将 Async="true" 放在顶部,但如果我在主页上这样做,则会出现以下错误:

myproject.master does not contain a definition for AsyncMode and blablabla...

我也在互联网上搜索过,但没有找到异步母版页。我在后台使用的语言是 C#。

谁能帮帮我?

你可以在母版页中这样设置。找到解决方案 here:

public abstract class MyBasePage : System.Web.UI.Page
{
    public MyBasePage()
    {
        this.AsyncMode = true;
    }
}

然后将 aspx.cs 文件中的继承更改为如下内容:

public partial class WebForm1 : MyBasePage

当您在构造函数之外的任何其他地方设置 AsyncMode 属性 时,它可能会破坏系统。

示例使用新的 async 和 await 关键字(在 .NET 4.5 和 Visual Studio 2012 中可用)让 编译器 负责维护 异步编程 所需的复杂转换。编译器允许您使用 C# 的同步控制流构造编写代码,并且编译器自动应用使用回调所需的转换以避免阻塞线程。 ASP.NET 异步页面必须包含 Page 指令,并且 Async 属性设置为 "true"。

主文件包含主指令。

母版页继承System.Web.UI的MasterPageclass不包含AsyncMode属性 ..所以你不能在主页上使用它

普通页面继承 System.Web.UI 的 Page class 其中包含 AsyncMode.