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

时间:2015-06-23 11:07:20

标签: c# asp.net asynchronous master-pages

在我的母版页中,我将从数据库中加载一些数据。我把它放在一个异步方法中。对于普通页面,我将Async="true"置于顶部,但如果我在母版页上执行此操作,则会出现以下错误:

  

myproject.master不包含AsyncMode和blablabla ...

的定义

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

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

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

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

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

public partial class WebForm1 : MyBasePage

当您在构造函数中设置AsyncMode属性时,它可能会破坏系统。

答案 1 :(得分:2)

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

主文件包含主指令。

母版页继承System.Web.UI的 MasterPage 类,该类不包含 AsyncMode 属性。所以您不能在母版页上使用它< /强>

普通页面继承包含 AsyncMode 的System.Web.UI的页面类。