Xamarin Forms中WebView无法显示数据库HTML格式化数据的问题
解决Xamarin Forms WebView无法显示数据库HTML内容的问题
我来帮你排查这个WebView无法正常渲染HTML内容的问题,咱们一步步来解决:
1. 先处理HTML转义字符问题
你从数据库获取的内容是Question<font size="4"><b> Instruction</b></font>,这里的<是HTML转义后的<符号,WebView会把它当成普通文本而不是HTML标签解析,所以第一步要先解码这些转义字符。
在C#代码中使用System.Net.WebUtility.HtmlDecode方法来解码:
var rawHtml = result[1][i].vchar_Instruction; var decodedHtml = System.Net.WebUtility.HtmlDecode(rawHtml);
2. 包裹完整的HTML文档结构
很多时候WebView对不完整的HTML片段渲染支持不好,建议把解码后的内容包裹在标准的HTML文档结构里,确保渲染正常:
var fullHtml = $"<html><head></head><body>{decodedHtml}</body></html>";
3. 赋值给HtmlWebViewSource
最后把处理好的完整HTML内容赋值给你的surveyInstruction:
surveyInstruction.Html = fullHtml;
完整修改后的C#代码示例
// 从数据库获取原始转义HTML var rawHtml = result[1][i].vchar_Instruction; // 解码转义字符 var decodedHtml = System.Net.WebUtility.HtmlDecode(rawHtml); // 构建完整HTML文档 var fullHtmlContent = $"<html><head></head><body>{decodedHtml}</body></html>"; // 赋值给WebView的数据源 surveyInstruction.Html = fullHtmlContent;
这样处理后,WebView就能正确解析<font>和<b>标签,显示出带有格式的文本了。
内容的提问来源于stack exchange,提问作者A for android
相关产品推荐
相关产品推荐

