我必須從javascript文件代碼隱藏.aspx頁面調用javascript函數。目前我正在使用這個給我一個錯誤的語法。RegisterClientScriptInclude在代碼隱藏文件中的語法錯誤
this.Page.ClientScript.RegisterClientScriptInclude
("showalert('invalidusername','password')","/Public/JS/FailLogin.js");
我必須從javascript文件代碼隱藏.aspx頁面調用javascript函數。目前我正在使用這個給我一個錯誤的語法。RegisterClientScriptInclude在代碼隱藏文件中的語法錯誤
this.Page.ClientScript.RegisterClientScriptInclude
("showalert('invalidusername','password')","/Public/JS/FailLogin.js");
您正在調用正確的方法,但正如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文件的代碼(腳本包括應該在腳本塊前呈現),你甚至可以調用這兩種方法。
在我的syantax showalert('invalidusername','密碼')---這是Java腳本功能。我傳遞參數 我有你的語法疑問: 什麼是mykey ---它是javascript的功能 – vasanth 2010-01-06 01:56:24
「mykey」是你想要的任何字符串。這只是告訴ASP.NET腳本的「名稱」,以便在同一頁面中包含它兩次時,它會知道它是重複的,並且只會呈現一次。我更新了我的答案,以顯示腳本的更加動態的示例。 – Eilon 2010-01-06 02:04:57
我仍然有錯誤 這個函數我寫在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
爲什麼你使用類似Javascript的東西作爲關鍵?你期望的關鍵是作爲Javascript執行嗎? – Guffa 2010-01-06 01:27:33
將此回調爲0,因爲問題完全有效。很明顯,如果提問者知道如何使用這種方法,他們首先不會問這個問題。 – Eilon 2010-01-06 01:38:39