【发布时间】:2020-09-09 02:48:15
【问题描述】:
如何附加一个包含来自 c# 代码后面的脚本和标签的 html 文档
我尝试附加到一个 div,但由于脚本和样式标签无法加载,所以这不起作用。
到目前为止,这是我的代码:
protected void Page_Load(object sender, EventArgs e)
{
string id= Request.Params["id"] ?? "1";
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
var content = new FormUrlEncodedContent(new Dictionary<string, string>() { "id",id });
string uri = $"{SERVER_URL}/handlers/httpclient.ashx?method=fetchfile";
using (HttpResponseMessage response = client.PostAsync(uri, content).Result)
{
response.EnsureSuccessStatusCode();
string responseBody = response.Content.ReadAsStringAsync().Result;
HtmlContent.InnerHtml = responseBody;
}
}
}
<div id="HtmlContent" runat="server"></div>
响应将返回一个完整的 html 文档字符串,例如 <!DOCTYPE HTML .. > <html> <head>...scripts & styles</head><body></body>...
我正在尝试避免将文档保存为临时文件并从 iframe 中读取。
所以我的主要目标是在加载文档(服务器端)时附加该字符串。非常感谢任何帮助!
【问题讨论】:
-
您想显示包含所有内联脚本和内联 css 的完整文档吗?所以 iframe 是获取它的一种方式。
-
@Homungus 我避免将字符串保存为客户端计算机上的文件。 iframe 需要查看文档的路径
-
不,它不需要路径,您可以通过 javacript 编写内容,因此在您的情况下,启动脚本从后面的代码呈现,或者设置正确的 iframe 内容属性