0
我想要一個Web服務來加載.ascx控件,加載一些值,然後返回此控件的HTML內容。我有類似的東西:ASP.NET LoadControl使用關鍵字'base'在此上下文中無效
[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
和調試器說:
使用關鍵字 '基地' 的無效在這方面
任何幫助將不勝感激,謝謝!
10x Andrew,這樣它不會在base.OnDataBinding();上崩潰。不過我認爲這改變了代碼的含義。 MyCustomReport具有子控件,具有類似的重寫 - 之前,base.DataBind();導致他們的數據綁定,現在他們的OnDataBinding()不會被調用。 相同的控件在直接放入.aspx文件時起作用,問題似乎是我在Web服務中加載它的方式,但我無法確切地知道什麼是錯誤的。 – user128873 2009-06-25 15:46:53