如何将HTML添加到已部署的app aspx页面

时间:2012-03-09 20:28:33

标签: c# asp.net html

问题已解决:问题是它是一个预编译的网页项目,并且要更新页面的外观,需要从源代码重新编译。

在IIS7.5上部署了.Net应用程序,我只能访问* .aspx文件而不是* .cs文件或项目附带的任何其他文件。 * .aspx页面以下面的内容开头(只是一个例子):

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="blue.cs" Inherits="p9.cblue" %>

从我读过的所有内容中,我应该能够插入HTML标记,或插入JS,或者遵循How to add html to an aspx C# codebehind page? @stackoverflow

中给出的建议

我尝试删除了Inherits,但标记仍然无法在浏览器中呈现。

我试图在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服务器。我甚至在尝试之间回收了应用程序池。我确实重启了浏览器以摆脱缓存问题。没有快乐。

我必须遗漏一些东西。将一些HTML添加到aspx页面是如此困难,这是不可思议的。似乎人们需要经常这样做。

再一次,我无法访问* .cs文件,请不要回复需要编辑* .cs文件的建议。我也意识到我可以使用.Net Reflector将* .cs从DLL中取出并从中重建解决方案。但是,我不应该这样做。我应该能够在* .aspx文件中添加我需要的任何标记,并完成它。

编辑:可能相关或不相关的另一条信息(我不是开发人员,所以我不确定)。应用程序所在的目录包含* .aspx文件。图像所在的文件系统上的目录被拉入应用程序呈现的某些页面中,只包含一个Default.aspx文件,其中包含“这是预编译工具生成的标记文件,不应删除! “

3 个答案:

答案 0 :(得分:1)

添加

    <script type="text/javascript">
        window.onload = function() {
            alert("Woot woot!");
        };
    </script>

到.aspx文件中的head标记的结尾,然后重试。

//编辑:您部署了哪种项目?例如。 Web Setup Project或一键发布?

答案 1 :(得分:1)

我的赌注是在缓存问题上。您的示例代码没有通过,但只要您不将HTML代码放在ASP标记之间(因为它们在提供生成的HTML之前由IIS解析),它应该如您所描述的那样显示。

您可以通过从服务器上的命令行运行iisreset.exe来清除IIS缓存

您可以在本地清除浏览器缓存,例如使用Ctrl-F5组合键

答案 2 :(得分:0)

就像多个人在评论中指出的那样,这是一个预编译的Web应用程序,因此可以重建。

将来,或者对于查看此页面的其他人来说,可以通过将解决方案构建为网页并确保在“发布网站”步骤中“允许此预编译站点可更新”复选框来避免此问题。选择。这将允许您以后更改标记和客户端代码,而无需重新编译站点。