ASP.Net - 我可以从标记内访问我的BasePage属性吗?
问题描述:
我希望能够扩展System.Web.UI.Page类,然后从标记中轻松访问这些属性。我知道我可以从代码隐藏中做到这一点,但是Markup有可能吗?参加以下课程。ASP.Net - 我可以从标记内访问我的BasePage属性吗?
public class MyBasePage : System.Web.UI.Page {
public bool DoesThisWork { get; set; }
}
然后,我希望能够从html标记中访问它,也许在@Page指令中。
<%@Page Language="C#" DoesThisWork="False" ... %>
当然,上面的页面正在使用MyBasePage类而不是System.Web.UI.Page。
答
我认为问题的重点是如何使用自定义属性在页面指令中 - 答案取决于您是否使用Web应用程序项目或网站。
对于网站,你需要分配CodeFileBaseClass到非分部类(下App_Code文件或外部组件)。对于Web应用程序,设置Inherits指令就足够了。
答
是的。您可以从标记访问基页的属性,就像您可以在页面上使用其他属性一样。
例如:
<a href="<%=MyBasePageProperty %>">this is a link</a>
答
不是直接从HTML,如你的榜样,但你可以这样做:
<td>Result: <%=DoesThisWork.ToString()%></td>
我不认为任何问题的答案都够好。他特别要求在没有回答地址的页面指令中使用它。 – 2011-08-30 18:31:28