2009-08-27 75 views
2

我剛開始使用ASP,所以在C#中編寫代碼後,我驚訝地發現MessageBox對我來說無法通過按鈕單擊來觸發確認彈出窗口。雖然使用Google,但我注意到了很多使用Javascript的建議,但希望避免在我的代碼中添加其他語言。我試圖實現建議的Javascript,但必須在語法中缺少一些東西。ASP中的彈出式警報

我確實發現了一個全是C#的文件:C# MessageBox它編譯,但不彈出警報。我仍然在試圖看看我能否實現它。我把它稱爲一個按鈕事件,並認爲事件可能沒有被觸發,但我在頁面加載時也檢查了它,而且還沒有彈出。有什麼建議麼?

+1

你想讓一個消息框在服務器上彈出嗎? – 2009-08-27 14:47:07

+0

在我一直被Javascript建議淹沒之前:我發佈鏈接的C#代碼是一個Javascript構建器。 – VengefulSakhmet 2009-08-27 14:59:26

+0

我希望它彈出客戶端,但我有一個語法問題。我googled頁面不斷提示JavaScript代碼警報。我只是想知道需要寫什麼來介紹JavaScript的使用,看到我的C#代碼在其他地方運行。我可以有2個腳本嗎?我正在使用SharePoint,因此它必須放在一個頁面上。 – VengefulSakhmet 2009-08-27 15:04:24

回答

2

你想用JavaScript來做你的客戶端驗證。我曾經使用ASP.net控件做同樣的事情,但它們不夠靈活和笨重。

在你的代碼中聲明一個塊來放置你的javascript函數。

這是您的

<script language="javascript"></script> 

塊。

您的按鈕控件還需要指向該javascript函數的onClientClick屬性,而onClick屬性仍將指向您的C#代碼後面的函數。

該按鈕的xhtml應該看起來像這樣。

<asp:Button ID="Button1" runat="server" OnClientClick="confirm_entry()" onclick="Button1_Click" Text="Button" /> 

希望這是你在找什麼。

+0

我可以在一個頁面上使用兩個腳本嗎?我已經有一個用於我的C#代碼。 我正在使用gridview buttonfield。 :-P 謝謝你的幫助。 – VengefulSakhmet 2009-08-27 15:17:04

+0

是的,你可以。你可以有你的C#代碼和你的JavaScript代碼。我試圖給你發送示例頁面,但堆棧溢出的UI不能正確顯示。 – gsirianni 2009-08-27 15:23:01

+0

您的代碼將包含按鈕的onClick屬性的事件hanlder。 onClientClick屬性將處理javascript部分。

1

ASP是一種服務器端語言。任何你想在客戶端做的事情都必須是html/css,javascript(或任何其他客戶端,支持broswer的語言)。

2

您需要了解發生在哪裏的情況。 C#代碼在服務器上運行,並將結果發送到瀏覽器。在瀏覽器中選擇查看源,查看從服務器發送的內容。

要顯示一個彈出窗口,您需要發送一小段JavaScript到瀏覽器中顯示彈出窗口。不過,在頁面頂部顯示一個包含該信息的框可能會更好,因爲它沒有侵入性。

1

將警報附加到按鈕的OnClientClick事件。所以myButton.OnClientClick =「alert('message')」;如果你想提示用戶,比如「你確定嗎?」使用確認而不是提醒:

myButton.OnClientClick =「return confirm('Are you sure?')」;

1

你可以使用onclick =「retrun window.confirm('Your message here');」

+0

我的按鈕位於gridview中。是否有相當於gridview按鈕的onclick? – VengefulSakhmet 2009-08-27 14:52:31