C# 将元服务器控件内容设置为方法返回值
我正在开发一个用户控件,在该控件中,我希望将元数据添加到针对.NET3.5构建的头部。我希望一些元数据标记内容是动态的,是方法调用的结果。以下是我在用户控件中执行的操作的示例:C# 将元服务器控件内容设置为方法返回值,c#,asp.net,user-controls,C#,Asp.net,User Controls,我正在开发一个用户控件,在该控件中,我希望将元数据添加到针对.NET3.5构建的头部。我希望一些元数据标记内容是动态的,是方法调用的结果。以下是我在用户控件中执行的操作的示例: <meta id = "metaOgUrl" property="og:url" content="<%=this.GetOgImage()%>" runat = "server"/> 又好又简单,对吧?问题是,我看到方法调用本身在浏览器中呈现为内容值: <meta id="tmpl_a
<meta id = "metaOgUrl" property="og:url" content="<%=this.GetOgImage()%>" runat = "server"/>
又好又简单,对吧?问题是,我看到方法调用本身在浏览器中呈现为内容值:
<meta id="tmpl_appmain_block1_ctl00_metaOgUrl" content="<%=this.GetOgImage()%>" property="og:url">
有人能告诉我我做错了什么吗?根据我所读到的,这应该是有效的。任何帮助都将不胜感激,谢谢 head标记中的Yes代码被屏蔽,但您可以删除runat=server属性,并将其作为黑客进行攻击:
<meta id="metaOgUrl" property="og:url" content="<%= "" + GetOgImage() %>" />
或者,保留runat=server,删除content属性并在代码中设置它
<meta id="metaOgUrl" runat="server" property="og:url" />
protected void Page_Load(object sender, EventArgs e) {
metaOgUrl.Attributes["content"] = GetOgImage();
}
受保护的无效页面加载(对象发送方、事件参数e){
属性[“内容”]=GetOgImage();
}
感谢您的回复!我选择了第二种选择。
<meta id="metaOgUrl" runat="server" property="og:url" />
protected void Page_Load(object sender, EventArgs e) {
metaOgUrl.Attributes["content"] = GetOgImage();
}