Page.Head为null?

uxspy 2009-05-11 10:24:57
我封装了一个js类库,把js当资源放类库里,有一个js类,这个js类有一个addJs方法如下

/// <summary>
/// 添加当前js库到head的指定位置
/// </summary>
/// <param name="index">位置</param>
public void AddAt(int index)
{
Page page = HttpContext.Current.Handler as Page;

if (page != null)
{
ClientScriptManager cs = page.ClientScript;
string key = "_bpms_" + this.Name + "_" + this.Version;
string url = this.Name + (string.IsNullOrEmpty(this.Version) ? "" : ("-" + this.Version)) + ".js";

if (!cs.IsClientScriptBlockRegistered(this.GetType(), key))
{
HtmlGenericControl script = new HtmlGenericControl("script");

script.Attributes["type"] = "text/javascript";
script.Attributes["language"] = "javascript";
script.Attributes["src"] = cs.GetWebResourceUrl(this.GetType(), url);
page.Header.Controls.AddAt(index, script);

cs.RegisterClientScriptBlock(this.GetType(), key, "");
}
}
}


异常位置在 page.Header.Controls.AddAt(index, script);信息是head是null,请问我这样做可正确?
...全文
95 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
uxspy 2009-05-11
  • 打赏
  • 举报
回复
算了,自己解决了,得往<head>加个runat=server
uxspy 2009-05-11
  • 打赏
  • 举报
回复
拜托,,,大牛们,帮我看看啊,别都老去销售自己的书好不,谢谢了
Dhoopu 2009-05-11
  • 打赏
  • 举报
回复
没做过……
uxspy 2009-05-11
  • 打赏
  • 举报
回复
有人知道吗?
我觉得是我的page有问题
Page page = HttpContext.Current.Handler as Page;

但是我又不想传一个page页面的引用进来,难道只能写成
AddAt(Page page,int index)吗
itcrazyman 2009-05-11
  • 打赏
  • 举报
回复
帮顶
uxspy 2009-05-11
  • 打赏
  • 举报
回复
呵呵,谢谢了,我三分了,另,to:ojlovecd,能否帮我看看我的另一个问题?
http://topic.csdn.net/u/20090511/13/8a563311-1cdf-4ee9-a474-e04fd9e1bcde.html
谢谢
我姓区不姓区 2009-05-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 uxspy 的回复:]
算了,自己解决了,得往 <head>加个runat=server
[/Quote]
呵呵,才看见,楼主自己解决了
我姓区不姓区 2009-05-11
  • 打赏
  • 举报
回复
要在后台对head进行操作,需要在head中加runat="server"
MadeInTexas 2009-05-11
  • 打赏
  • 举报
回复
谢谢分享,学习中
tulong403 2009-05-11
  • 打赏
  • 举报
回复
呵呵 给你点建议 注意服务器端和客户端控件的使用区别
我也经常犯这样的错误

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧