在html元标记中添加属性的运行时错误

时间:2012-06-26 17:49:51

标签: asp.net html5 html-parsing

这是我的代码:

 public partial class Image : System.Web.UI.Page {
     protected void Page_Load(object sender, EventArgs e)
     {
         HtmlMeta tag = new HtmlMeta();
         tag.Attributes.Add("property", "og:type");
         Header.Controls.Add(tag);
     }
}

这是我的错误:

  

' / Kidzania'中的服务器错误应用。对象引用未设置为   一个对象的实例。描述:发生了未处理的异常   在执行当前Web请求期间。请查看   堆栈跟踪以获取有关错误及其位置的更多信息   起源于代码。

     

异常详细信息:System.NullReferenceException:不是对象引用   设置为对象的实例。

     

来源错误:

Line 18:         HtmlMeta tag = new HtmlMeta(); 
Line 19:         tag.Attributes.Add("property", "og:type"); 
Line 20:         Header.Controls.Add(tag); 
  

源文件:d:\ Kidzania \ Image.aspx.cs行:20

     

堆栈追踪:

     

[NullReferenceException:对象引用未设置为的实例   对象。] Image.Page_Load(Object sender,EventArgs e)in   d:\ Kidzania \ Image.aspx.cs:20
  System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object   o,对象t,EventArgs e)+14
  System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,   EventArgs e)+35 System.Web.UI.Control.OnLoad(EventArgs e)+99
  System.Web.UI.Control.LoadRecursive()+50
  System.Web.UI.Page.ProcessRequestMain(布尔   includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)   627

我是指所有 stackoverflow 的答案,但请不要解决这个问题,请帮助我。提前感谢您的回答

1 个答案:

答案 0 :(得分:3)

我认为这将起作用。

HtmlMeta htmmeta = new HtmlMeta();
htmmeta.Attributes.Add("property", "og:type");
this.Header.Controls.Add(htmmeta);

此外,您需要确保标记标题标记中包含runat服务器。

<head runat="server">