2010-01-06 29 views
1

我必須從javascript文件代碼隱藏.aspx頁面調用javascript函數。目前我正在使用這個給我一個錯誤的語法。RegisterClientScriptInclude在代碼隱藏文件中的語法錯誤

this.Page.ClientScript.RegisterClientScriptInclude 
    ("showalert('invalidusername','password')","/Public/JS/FailLogin.js"); 
+2

爲什麼你使用類似Javascript的東西作爲關鍵?你期望的關鍵是作爲Javascript執行嗎? – Guffa 2010-01-06 01:27:33

+0

將此回調爲0,因爲問題完全有效。很明顯,如果提問者知道如何使用這種方法,他們首先不會問這個問題。 – Eilon 2010-01-06 01:38:39

回答

2

您正在調用正確的方法,但正如Guffa所說,您傳遞了無效參數。

嘗試這樣代替:

this.Page.ClientScript.RegisterClientScriptInclude("myKey", 
    "/Public/JS/FailLogin.js"); 

或者,如果你想聯腳本:

this.Page.ClientScript.RegisterClientScriptBlock(GetType(), 
    "myKey", "alert('whatever')"); 

還是要在一些動態腳本傳遞:

string name = "Joe"; 
string script = "alert('Your name is" + name + "')"; 
this.Page.ClientScript.RegisterClientScriptBlock(GetType(), 
    "myKey", script); 

請注意,在最後一個例子中,你大多數 JavaScript編碼「名稱」字段的值。根據.NET的版本,這樣做的一個方法是這樣的:

string encodedName = JavaScriptSerialize.Serialize(name); 

再經過編碼的名字到「腳本」變量。

如果你想同時包含一個JS文件並運行一些依賴於新包含的JS文件的代碼(腳本包括應該在腳本塊前呈現),你甚至可以調用這兩種方法。

+0

在我的syantax showalert('invalidusername','密碼')---這是Java腳本功能。我傳遞參數 我有你的語法疑問: 什麼是mykey ---它是javascript的功能 – vasanth 2010-01-06 01:56:24

+0

「mykey」是你想要的任何字符串。這只是告訴ASP.NET腳本的「名稱」,以便在同一頁面中包含它兩次時,它會知道它是重複的,並且只會呈現一次。我更新了我的答案,以顯示腳本的更加動態的示例。 – Eilon 2010-01-06 02:04:57

+0

我仍然有錯誤 這個函數我寫在JavaScript文件 function showalert(invalidusername,password){ alert('country'+ invalidusername +''+ password +'place'); } stil我得到錯誤,但我打電話 像:是正確的? Page.ClientScript.RegisterClientScriptInclude(「mykey」,「/Public/JS/FailLogin.js」); – vasanth 2010-01-06 02:23:56