如何将HTML添加到已部署的应用程序aspx页面
本文关键字:部署 应用程序 aspx 页面 HTML 添加 | 更新日期: 2023-09-27 18:27:21
问题已解决:问题是它是一个预先编译的网页项目,要更新页面的外观,需要从源代码重新编译
在IIS7.5上部署了.Net应用程序,我只能访问*.aspx文件,而不能访问*.cs文件或项目附带的任何其他文件。*.aspx页面以以下内容开头(仅举一个例子):
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="blue.cs" Inherits="p9.cblue" %>
从我读到的所有内容来看,我应该能够插入HTML标记,或插入JS,或遵循"如何将HTML添加到aspx C#代码隐藏页面?"中给出的建议@堆叠式
我试图删除"继承",但标记仍然无法在浏览器中呈现。
我试图在aspx页面的body标记后面插入以下JS:
<script type="text/javascript">document.write("TEST");</script>
它没有出现。
我尝试了上面链接中给出的建议:
<script runat="server">
protected void Page_Load(object sender, EventArgs e) {
if (!Page.IsPostBack) {
Controls.Add(new LiteralControl("TEST"));
}
}
</script>
<!-- Try this if the above does not work -->
<script runat="server">
new protected void Page_Load(object sender, EventArgs e) {
base.Page_Load(sender, e);
if (!Page.IsPostBack) {
Controls.Add(new LiteralControl("TEST"));
}
}
</script>
这两种方法都不起作用。我确实在两次尝试之间重新启动了web服务器。我甚至在两次尝试之间回收了应用程序池。我确实重新启动了浏览器以避免缓存问题。没有快乐。
我一定是错过了什么。在aspx页面中添加一些HTML是如此困难,这是不可思议的。似乎人们需要经常这样做。
再一次,我无法访问*.cs文件,请不要回复需要编辑*.cs文件的建议。我还意识到,我可以使用.Net Reflector从DLL中取出*.cs,并从中重建解决方案。但是,我不应该这样做。我应该可以在*.aspx文件中添加我需要的任何标记并完成它。
编辑:还有一条可能相关也可能不相关的信息(我不是开发人员,所以我对此不确定)。应用程序所在的目录包含*.aspx文件。图像所在的文件系统上的目录被拉入应用程序渲染的某些页面,该目录只包含Default.aspx文件,该文件包含"这是由预编译工具生成的标记文件,不应删除!"
添加
<script type="text/javascript">
window.onload = function() {
alert("Woot woot!");
};
</script>
到.aspx文件中的head标记末尾,然后重试。
//编辑:你部署了什么样的项目?例如,Web设置项目还是一键发布?
我的赌注是缓存问题。您的示例代码没有通过,但只要您不将HTML代码放在ASP标记之间(因为IIS在提供结果HTML之前会对其进行解析),它就应该如您所描述的那样出现。
可以通过从服务器上的命令行运行iisreset.exe来清除IIS缓存
您可以在本地清除浏览器缓存,例如使用Ctrl-F5组合键
正如许多人在评论中指出的那样,这是一个预先编译的web应用程序,因此必须重新构建。
将来,或者对于其他查看此页面的人来说,可以通过将解决方案构建为网页并确保在"发布网站"步骤中选中"允许此预编译网站可更新"复选框来避免此问题。这将允许您稍后更改标记和客户端代码,而无需重新编译网站。