J'ai une zone de texte richtext sur une page Web qui sera utilisée pour créer des modèles d'email. Cette zone de texte renvoie le code HTML en tant que chaîne. J'ai besoin d'obtenir la source de toutes les images du HTML afin que les images puissent être stockées dans la base de données. Une fois le HTML renvoyé, les images ont déjà été chargées sur le serveur et le nouveau chemin a été utilisé comme source de l'image.Page.ParseControl pour trouver HTMLImage
Je voudrais analyser les contrôles, faire défiler les contrôles comme indiqué ci-dessous, trouver les images sauvegardées dans la base de données et changer la source pour une nouvelle valeur. Cependant, lorsque la chaîne est analysée, elle renvoie toujours un contrôle littéral à moins qu'un attribut de serveur runat ne soit affecté à la balise. Si l'exécution sur le serveur est présente, il identifie correctement le contrôle en tant que contrôle HTMLImage.
Y at-il loin pour obtenir la page pour analyser tous les contrôles indépendamment du fait qu'ils sont des contrôles de serveur?
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