【问题标题】:Html tag in string C#字符串C#中的HTML标签
【发布时间】:2013-09-17 08:37:11
【问题描述】:

需要来自字符串的html标签img

我有字符串

string s = "<img src=\"@Url.Content(\"~/Content/skin/Office2010Blue.png\")\" style=\"width: 100px;height: 100px;\" />";
var html = new HtmlDocument();



@html.CreateElement(s) does not work

我没有图片只有 HtmlAgilityPack.HtmlNode;

【问题讨论】:

  • 不太清楚这里发生了什么,其中一部分看起来像 Razor 样式标记...这是 HTML 文档吗?这是在 IIS 上运行的 ASP.NET 应用程序吗?这是一个 ASP.NET MVC 应用程序吗?这到底是怎么回事?
  • 这是 mvc (razor) 我尝试从字符串创建元素
  • 带有html标签的字符串,我需要创建html文档并查看图片

标签: c# html string tags dom


【解决方案1】:

尝试直接在 img 中使用数据,而不是对文件进行衬里

所以你可以

string s = "<img src=\""+getImageFromFile("~/Content/skin/Office2010Blue.png","image/png")+"\" style=\"width: 100px;height: 100px;\" />";
var html = new HtmlDocument();



@html.CreateElement(s)


public string getImageFromFile(String url, String imgType)
{
    using (FileStream fs = new FileStream(Server.MapPath(url), 
                                   FileMode.Open, 
                                   FileAccess.Read)){
        byte[] filebytes = new byte[fs.Length];
        fs.Read(filebytes, 0, Convert.ToInt32(fs.Length));
    }
    string encodedData = Convert.ToBase64String(filebytes);
    return "data:"+imgType+";base64,+"encodedData; 
}

【讨论】:

  • 谢谢,但我无法检查,因为路径有问题找不到路径的一部分 'c:\windows\system32\inetsrv\~\Content\skin\Office2010Blue.png' .
  • 谢谢这个方法有效,但结果和我写的一样我只看到图片 HtmlAgilityPack.HtmlNode 我需要将此字符串解析为 html 文档
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多