2012-01-10 47 views
0

我正在做C#中的asp.net項目。我試圖以腳本格式顯示消息。 對於我使用下面的代碼試圖在asp.net中使用Javascript顯示消息

Page page = new Page(); 
page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Key", "alert('Your Full Name Sucessfully Updated...');", true); 

但它沒有顯示任何錯誤。或警告。即使它不顯示信息。 好心勸我,幫幫我。

感謝和問候

回答

0

您需要在頁面中使用現有的頁面:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Key", "alert('Your Full Name Sucessfully Updated...');", true); 

應該這樣做。

+0

感謝名單爲UR性反應。 是的,我也試過這個。但是這個也表現出同樣的沒有迴應。 – 2012-01-10 12:33:11

+0

然後檢查js是否在頁面源代碼中。如果沒有,請考慮在您添加它的頁面生命週期中的哪個位置。 (根據@slavo) – 2012-01-10 12:34:53

0

您正在創建頁面對象的新實例並向此新實例註冊腳本。相反,您應該將其註冊到正在執行的當前頁面。

this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Key", "alert('Your Full Name Sucessfully Updated...');", true); 

請注意,沒有new關鍵字。

此外,我認爲這應該在生命週期的Init事件上完成,而不是在以後。

+0

Thnx爲您的答覆。 我試過這一個,但它也不起作用。 – 2012-01-10 12:36:16

+0

當頁面運行時是否收到任何Javascript錯誤?你可以檢查像Firebug這樣的工具,並查看腳本是否已經加載完畢。 – Slavo 2012-01-10 12:38:19

0

new Page()看起來不對。對我來說,你會想要this.Page.ClientScript.RegisterClie ...而不是某處。

第一個測試是,當你從服務器獲取頁面時,它是否包含任何javascript?然後,如果沒有,腳本就可以正常工作。

+0

謝謝你的朋友。但我已經嘗試過這種方法,它也不起作用。 – 2012-01-10 12:37:53

+0

好的。什麼是不工作呢? JavaScript沒有進入瀏覽器接收到的html輸出嗎?它絕對需要是'this.Page ...'(或者只是'Page ...')而不是'new Page()'。 – 2012-01-20 14:08:32

1

它不顯示您的消息的原因是,您只是註冊您的腳本;您必須從客戶端撥打電話

此外,不要按照其他人的建議創建新的Page實例。

您可以使用OnLoad財產

<body onload="showMsg()"> 

實在值得一試修改<body />標籤調用showMsg()

編輯:並添加JavaScript代碼如下:

ClientScript.RegisterStartupScript(this.GetType(), "showMsg", "alert('boo ya!');"); 
+0

Thnx for your reply。但是我已經在Onload中定義了一個函數,我必須在按鈕點擊中定義它。全名更新後。 – 2012-01-10 12:46:57