2011-08-31 38 views
4

我需要找到一種全局方式,將<script>標籤直接注入到我的頁面中,該標籤位於代碼後面的<head>標籤中。在global.asax中我能做些什麼嗎?如果沒有,我所有的aspx頁面都繼承了一個我有實現System.Web.UI.Page的「BasePage」的類。注入<script>標籤<head>後面的代碼

基本上,我需要一種方法將jQuery推送到我之前的任何其他腳本(在HEAD中)被引用之前的所有頁面中。

+0

看看HttpModules。這是一個[有人在做的樣本] [1],用JavaScript。 [1]:http://stackoverflow.com/questions/5239605/inject-js-from-ihttpmodule –

+0

@克里斯 - 我想添加到HEAD標籤。這似乎並沒有這樣做。 –

回答

2
protected void Application_EndRequest(object sender, EventArgs e) 
{ 
    if (result) 
    { 
     Page page = HttpContext.Current.CurrentHandler as Page; 
     if (page is Page) 
     { 
      page.ClientScriptManager.RegisterClientScriptBlock(this.GetType(), "HeadScript", 
      "<script>alert('error')</script>"); 
     } 
    } 
} 

也許像上面這樣的東西適合你。 Application_EndRequestGlobal.asax中定義。

+0

我的腳本需要包含在HEAD標記中的第一個腳本。 –

+0

@Brian:然後你可以使用'ClientScriptManager.RegisterClientScriptBlock'將你的腳本包含在head元素中。更多信息:http://msdn.microsoft.com/en-us/library/ms178207.aspx – Tarik

+0

ClientScriptManager.RegisterClientScriptBlock似乎也將代碼放在BODY中。 –

相關問題