我正在使用一个非常简单的HtmlGenericControl代码,它只是在我的代码中动态添加CSS 并且它给了我对象引用未设置为对象的实例,如您所见,显然不为null
HtmlGenericControl style = new HtmlGenericControl();
style.TagName = "style";
style.Attributes.Add("type", "text/css");
style.InnerHtml = "header{"+ imagePath +";}";
Page.Header.Controls.Add(style);
答案 0 :(得分:0)
它在哪一行引发异常?哪个对象是违规的?在代码中添加断点并告诉我们。可能是imagePath设置不正确吗?
更新
我刚刚创建了一个全新的C#WebForms项目,并将以下内容添加到Default.aspx.cs的Page_Load方法中,然后检查了源代码,它完全符合您的预期:
var imagePath = "contentHere";
HtmlGenericControl style = new HtmlGenericControl();
style.TagName = "style";
style.Attributes.Add("type", "text/css");
style.InnerHtml = "header{" + imagePath + ";}";
Page.Header.Controls.Add(style);
这会添加到我的HTML页面的head标记的末尾:
<style type="text/css">header{contentHere;}</style>
要确认,我在页面上使用以下语句:
using System;
using System.Web.UI;
using System.Web.UI.HtmlControls;