如何在页面后面的aspx C#代码中添加html?

时间:2011-07-08 20:24:55

标签: c# asp.net html

我可以访问带有aspx页面的服务器。我需要在页面上添加标题,parapgraph等。该页面目前只有以下行:

<%@ Page Language="C#" AutoEventWireup="true" Inherits="Access.Login" %>

我无法访问CS文件,只能访问DLL。无论如何,当我尝试将任何html添加到文档时没有任何变化。我能够更改CSS,如果我删除“继承”,那么我显示的任何HTML都会显示,但是当“继承”时,只显示默认页面,而不是我的添加内容。

不可否认,我是ASP的新手,而且我并不想成为一名专家,只是为了向页面添加一些HTML,但任何建议都会很棒,谢谢!

3 个答案:

答案 0 :(得分:0)

尝试将Page_Load嵌入.aspx并以这种方式添加控件:

<%@ Page Language="C#" AutoEventWireup="true" Inherits="Access.Login" %>

<script runat="server">
    protected void Page_Load(object sender, EventArgs e) {
        if (!Page.IsPostBack) {
            Controls.Add(whatever);
        }
    }
</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(whatever);
            }
        }
</script>

答案 1 :(得分:0)

从根本上说,我担心这是不可能的。 .NET是一种单继承语言/框架。因此,当它表示Inherits =“Access.Login”时,这意味着您只能使用Access.Login或您的代码隐藏,但不能同时使用它们。

那就是说,你可以通过一些疯狂的箍来实现你的目标。就像创建一个全新的“包装器”页面一样,然后在代码隐藏中将一个http请求发送到你想要的页面。加载响应,这只是一个非常长的字符串到第三方DOM解析器,或者如果你确信你得到100%有效的XML,使用.NET的内置XmlDocument或XDocument来解析页面,找到您的html元素,进行更改,然后使用修改后的内容进行Response.Write。

这是一个现实生活中的例子,绕着你的肘部去找你...

答案 2 :(得分:0)

我不是100%肯定这会起作用,但是您可以从Access.Login继承代码隐藏文件,并使用Page_Load使用new(覆盖将无效,如果Page_Load未标记为虚拟)关键字。然后你可以使用Inherits =“YourAssembly.NewLogin”。

我不确定的部分是asp.net是否使用页面类或子类来调用Page_Load方法。如果page_Load是虚拟的,那么无关紧要,但由于它不是新的,只有在将页面强制转换为子类时才会调用new。值得一试。