【问题标题】:Page.ParseControl to find HTMLImagePage.ParseControl 查找 HTMLImage
【发布时间】:2009-09-02 08:33:53
【问题描述】:

我在网页上有一个富文本文本框,用于创建电子邮件模板。此文本框将 HTML 作为字符串返回。我需要从 HTML 中获取所有图像的来源,以便将图像存储在数据库中。返回 HTML 后,图像已经加载到服务器,并且新路径已用作图像的源。

我想解析控件,如下所示循环遍历控件,找到保存到数据库的图像并将源更改为新值。

但是,当解析字符串时,它总是返回一个文字控件,除非有一个 runat 服务器属性分配给标签。如果在服务器上运行,它会正确地将控件标识为 HTMLImage 控件。

是否可以让页面解析所有控件,无论它们是否是服务器控件?

Dim s As String = "<P><IMG src=""http://localhost/MessageImages/14699666.jpg""></P>"

Dim cnts As Control = Page.ParseControl(s)

For Each c As Control In cnts.Controls
   If TypeOf c Is System.Web.UI.HtmlControls.HtmlImage Then
        Dim src As String = CType(c, HtmlImage).Src
        'TODO: Save image to database
        'TODO: Change source 
   End If
Next

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    在我看来,您最好使用HTML Agility Pack 之类的东西来解析来自编辑器的原始 HTML。由于它适用于纯 HTML,因此您无需担心控件是服务器控件还是 HTML 控件等。

    【讨论】:

      猜你喜欢
      • 2012-01-18
      • 2017-10-06
      • 1970-01-01
      • 1970-01-01
      • 2014-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多