ASP.Net - 我可以从标记内访问我的BasePage属性吗?

时间:2010-10-22 18:35:53

标签: c# asp.net inheritance

我希望能够扩展System.Web.UI.Page类,然后从Markup轻松访问这些属性。我知道我可以从代码隐藏中做到这一点,但是有可能来自Markup吗?参加以下课程。

public class MyBasePage : System.Web.UI.Page {
  public bool DoesThisWork { get; set; }
}

然后我希望能够从html标记访问它,可能在@Page指令中。

<%@Page Language="C#" DoesThisWork="False" ...  %>

当然上面的页面使用MyBasePage类而不是System.Web.UI.Page。

3 个答案:

答案 0 :(得分:4)

我认为问题主要集中在如何在页面指令中使用自定义属性 - 答案取决于您使用的是 Web应用程序项目还是网站

对于网站,您需要将 CodeFileBaseClass 分配给非部分类(在 App_Code 下或在外部程序集中)。对于 Web应用程序,设置Inherits指令就足够了。

答案 1 :(得分:0)

是。您可以从标记访问基页的属性,就像页面上的任何其他属性一样。

例如:

<a href="<%=MyBasePageProperty %>">this is a link</a>

答案 2 :(得分:0)

不是直接来自HTML,如您的示例中所示,但您可以这样做:

<td>Result: <%=DoesThisWork.ToString()%></td>