如何在aspx页面中指定类静态变量来控制?

时间:2011-06-18 14:32:01

标签: c# .net asp.net

我有一个带有两个属性的静态类。

public class SiteDetails
{
    public static string MetaIndexKeyword { get; set; }
    public static string SiteName { get; set; }

}

还有一个默认页面,我需要在页面加载时分配这些静态值。

<meta name="keywords" content='<%= DealCollector.Model.SiteDetails.MetaIndexKeyword %>' />
 <asp:Label id="test" runat="server" Text='<%= DealCollector.Model.SiteDetails.HtmlMetaKeyword %>'></asp:Label> 

静态类和默认页面命名空间不同。

当我像这样打电话时

<%= DealCollector.Model.SiteDetails.HtmlMetaKeyword %>

然后它工作正常但在控制和元值中它没有显示价值。

请帮我找到这个解决方案。

1 个答案:

答案 0 :(得分:2)

<%= expressions不能用作属性,您必须使用<%# expressions

由于在<%# expressions时间对DataBind()进行了评估,如果您使用了DataBind();,则需要在PreRenderComplete调用protected void Page_PreRenderComplete(object sender, EventArgs e) { DataBind(); } 方法,例如..

Text='<%# DealCollector.Model.SiteDetails.HtmlMetaKeyword %>'

最后,如果您将属性设置为标签控件

{{1}}