0

我希望 Web 服务加载一个 .ascx 控件,在其中加载一些值,然后返回该控件的 HTML 内容。我有类似的东西:

[WebMethod(EnableSession = true)]
public void GetHTML()
{
    UserControl loader = new UserControl();
    MyCustomReport reportControl =
        (MyCustomReport)loader.LoadControl("~/The/path/to/the/.ascx");
    reportControl.DataBind();

    return "TODO";
}

MyCustomReport 覆盖DataBind()

public override void DataBind()
{
    base.DataBind();

    // etc.
}

该行base.DataBind()抛出 aNullReferenceException并且调试器说:

在此上下文中使用关键字“base”无效

任何帮助将不胜感激,谢谢!

4

1 回答 1

1

尝试这个:

public override void OnDataBinding() 
{ 
    base.OnDataBinding(); 

    // other stuff here ...
}

UserControl没有虚DataBind方法,但有虚OnDataBinding方法。我相信这是您要覆盖的方法。

于 2009-06-25T14:54:53.127 回答