頭のあるaspxページがあります
<head runat="server" id="head">
<title></title>
</head>
現在、私が取り組んでいるサイトはxmlファイルから情報を取得しており、xmlファイルからノードを取得してheadセクションに追加したいと思います。
<head runat="server" id="head">
<title></title>
<script></script> // comes from the xml file
</head>
しかし、私がこれらのいずれかをしようとすると。
protected void Page_Init(object sender, EventArgs e)
{
this.Page.Header.InnerHtml += xml.Header; // errors out
this.Page.Header.InnerHtml = this.Page.Header.InnerHtml + xml.Header; // errot ut
}
エラーが発生します
System.Web.HttpExceptionはユーザーコードによって処理されませんでしたMessage=内容がリテラルではないため、headの内部コンテンツを取得できません。
私がこれをするなら
protected void Page_Init(object sender, EventArgs e)
{
this.Page.Header.InnerHtml = xml.Header;
}
すべてが順調。
私がこれをするなら
<head runat="server" id="head">
// removed the title tag so now nothing is in head
</head>
そしてこれを行う
protected void Page_Init(object sender, EventArgs e)
{
this.Page.Header.InnerHtml += xml.Header; // works
this.Page.Header.InnerHtml = this.Page.Header.InnerHtml + xml.Header; //works
}
できます。ですから、すでに頭の中にタグがあるのになぜ失敗するのかわかりません。
頭からも内容を取得しようとすると、同じエラーが発生します
var a = this.Page.Header.InnerHtml;
var a = this.Page.Header.InnerText;