2016-05-16 16 views
0

我有一個單行代碼,現在顯示JS警報。我試圖用jQuery警報替換它,以便我可以將其設置爲主題。下面是我寫的jQuery的警報代碼:在Asp.net中使用ScriptManager調用jquery警報

ScriptManager.RegisterStartupScript(this, GetType(), "onload", 
    "window.onload = function() {jAlert('This is a custom alert box', 'Alert Dialog');}", true); 

該代碼曾經是這樣的:

ScriptManager.RegisterStartupScript(this, GetType(), "showalert", 
    "alert('This is a custom alert box');", true); 

現有的代碼工作正常。但我的代碼給我一個錯誤的說法,

value of property jalert is null

我不確定,我很想念這裏。

+0

是jquery.js和加載到瀏覽器在onload函數觸發時? –

+0

我這麼認爲。不知道我該如何檢查它是否是。我應該改變onload到別的東西嗎? – jitendragarg

+0

你應該檢查這個http://stackoverflow.com/questions/4760207/asp-net-clientscript-registerclientscriptblock-fires-before-jquery-is-loaded –

回答

1

您正在爲JQuery運行外部插件。

確保您的頁面上有對jquery庫和jalert插件的有效參考。

$.browser屬性被視爲已過時,不應再使用。這是因爲有很多瀏覽器錯誤地標識了他們是誰。例如,IE12將自己標識爲Mozilla瀏覽器。

您可以找到有關$.browser財產here.

詳細信息,如果您的版本是1.8的JQuery下使用:

<!-- Dependencies --> 
<script src="jquery.js" type="text/javascript"></script> 

<!-- Core files --> 
<script src="jquery.alerts.js" type="text/javascript"></script> 
<link href="jquery.alerts.css" rel="stylesheet" type="text/css" media="screen" /> 

如果你的版本是1.9的JQuery及以上,你需要引用jquery-migrate.js文件,以便您可以使用$.browser屬性:

<!-- Dependencies --> 
<script src="jquery.js" type="text/javascript"></script> 
<script src="jquery-migrate.js" type="text/javascript"></script> 

<!-- Core files --> 
<script src="jquery.alerts.js" type="text/javascript"></script> 
<link href="jquery.alerts.css" rel="stylesheet" type="text/css" media="screen" /> 
+0

哦對。我知道我現在錯過了什麼。愚蠢的我。 順便說一句,現在jquery.alerts.js文件拋出錯誤,說'無法獲得屬性msie'在這一行var pos =($。browser.msie && parseInt($。browser.version)<= 6)? '絕對':'固定'; '。 – jitendragarg

+0

你使用的是什麼版本的jQuery?屬性$ .browser不適用於jQuery版本1.9及以上... –

+0

真的嗎?那麼如何在最新的jQuery中找到瀏覽器版本? – jitendragarg