我希望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()
抛出NullReferenceException
,调试器说:
在此上下文中使用关键字“base”无效
任何帮助将不胜感激,谢谢!
答案 0 :(得分:1)
试试这个:
public override void OnDataBinding()
{
base.OnDataBinding();
// other stuff here ...
}
UserControl
没有虚拟DataBind
方法,但它确实有虚拟OnDataBinding
方法。我相信这是你要覆盖的方法。