我有一个带有两个属性的静态类。
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 %>
然后它工作正常但在控制和元值中它没有显示价值。
请帮我找到这个解决方案。
答案 0 :(得分:2)
<%= expressions
不能用作属性,您必须使用<%# expressions
。
由于在<%# expressions
时间对DataBind()
进行了评估,如果您使用了DataBind();
,则需要在PreRenderComplete
调用protected void Page_PreRenderComplete(object sender, EventArgs e)
{
DataBind();
}
方法,例如..
Text='<%# DealCollector.Model.SiteDetails.HtmlMetaKeyword %>'
最后,如果您将属性设置为标签控件
{{1}}