【问题标题】:Is there an alternative for Page.ParseControl in ASP.NET?ASP.NET 中是否有 Page.ParseControl 的替代方案?
【发布时间】:2010-10-14 14:57:18
【问题描述】:

我编写了一个类库函数,将字符串解析为控件。它获取当前页面并使用 page.ParseControl 将字符串解析为控件。

System.Web.UI.Page page = (System.Web.UI.Page) HttpContext.Current.CurrentHandler;
System.Web.UI.Control ctrl = page.ParseControl(str); 

它在大多数情况下都可以正常工作,除非此函数的调用者是 Ajax Web 服务,在这种情况下,我会收到以下错误:无法将“HandlerWrapperWithSession”类型的对象转换为“System.Web.UI.Page”类型'。我显然收到了这个错误,因为 CurrentHandler 不是 Page 类型,但我需要一个 Page 对象来调用 ParseControl。

有什么办法可以解决这个问题吗?

【问题讨论】:

  • 您能详细说明您要做什么吗?
  • @Coding Gorilla 我正在使用 parseControl 方法查看字符串中的标记是否有效。我还在检查我要过滤掉的某些标签。
  • 只需这样做就足够了:Page page = HttpContext.Current.CurrentHandler as Page。这将导致page == null 不是真正的页面。
  • 很遗憾没有。现在我得到错误:对象引用未设置为对象的实例。这真的让我想知道为什么 parseControl 不是静态的。

标签: asp.net ajax web-services parsecontrol


【解决方案1】:

你可以这样做:

Page p = new Page();
Control ctrl = p.ParseControl(str);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    相关资源
    最近更新 更多