2011-07-08 97 views
2

我可以使用aspx页面访问服务器。我需要为页面添加标题,parapgraphs等。该页面目前只有以下行:如何将html添加到aspx C#代码隐藏页面?

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

我没有访问CS文件,只是DLL。无论如何,当我尝试添加任何HTML到文档没有任何改变。我可以改变CSS,如果我删除了“继承”,那么无论显示哪一个HTML,但是当“继承”时,只有默认页面显示,并且没有添加。

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

+0

您是否有权访问Site.master页面? – pat8719

+0

您将html作为字符串添加到作为字符串的代码后面,具体取决于您正在做什么。您也可以直接将html添加到aspx文件。所以这真的取决于你打算做什么,你可以做些什么并发布更多的代码? – Spacemancraig

+0

也许该页面要求您在看到内容之前进行身份验证? –

回答

0

尝试把嵌入在.aspx您的Page_Load,并添加控件的方法:

<%@ 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

你也可以继承自Access.Login,除非它是密封的,并用“MyClass”替换你的继承属性... – gangelo

+0

+1用于提示继承。 ofosho:在做任何疯狂的事情之前先试试这个,像我的回答... –

+0

以下链接可能包含一些更多信息:http://msdn.microsoft.com/en-us/magazine/cc163445.aspx – Polity

0

从根本上说,这恐怕是不可能的。 .NET是一种单一继承语言/框架。所以当它说继承=“Access.Login”,这意味着你只能让它使用Access.Login或你的代码隐藏,但不是两个。

这就是说,你可以跳过一些疯狂的箍来实现你的目标。就像创建一个全新的“包装器”页面一样,然后在代码隐藏的情况下将一个http请求发送到您想要的页面。将响应加载到第三方DOM解析器中,或者如果您确信获得了100%有效的XML,请使用.NET的内置XmlDocument或XDocument解析页面,找到你的HTML元素,做出你的改变,然后用修改过的内容做一个Response.Write。

这就是流传着你的手肘到你...

0

我不是100%肯定这将工作一个活生生的例子,但你可以有一个代码隐藏文件从Access继承。使用Page_Load登录并使用new(如果Page_Load未标记为虚拟,则覆盖不起作用)关键字。然后你可以使用Inherits =“YourAssembly.NewLogin”。

我不确定的部分是asp.net是否使用页面类或您的子类来调用Page_Load方法。如果page_Load是虚拟的,它并不重要,但是因为它不是新的,所以只有当页面被转换成你的子类时才会被调用。不过值得一试。

相关问题