我想在后面的代码中将值设置为段落元素,以便结果如下所示:
<p runat="server" id="txtShutDown"><!--#include File="ShutDown.inc"--></p>
我试过:
txtShutDown.InnerText = "<!--#include File=\"ShutDown.inc\"-->";
和
txtShutDown.InnerHtml = "<!--#include File=\"ShutDown.inc\"-->";
但都行不通。
(老实说,我真的很惊讶这一切都能奏效!)
ASP.NET ASPX文件解析器支持SSI(服务器端包含)语法,这是Classic ASP 3.0的遗产(并且文档也很少记载)。令我惊讶的是,它根本没有用,我很好奇您的第一个示例的渲染结果是将HtmlControl
实例(HtmlGenericControl("p")
)与SSI混合在一起。我想解析器会将的内容ShutDown.inc
设置为的静态文本内容,<p>
并且尝试包含另一个.aspx
文件将导致解析错误,因为它将遇到@Page
两次指令。
“包含”过程是由ASPX解析器本身在ASP.NET管道中较早发生的。您以后不能在ASP.NET页管道/生命周期中调用此操作。
如果要进行原始文本包含,则需要手动进行处理,如下所示:
String path = this.Server.MapPath("~/ShutDown.inc");
txtShutDown.InnerHtml = File.ReadAllText( path );
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句