2008-11-18 53 views
3

我需要一種技巧來處理看起來很簡單的事情!服務器端代碼在asp.net中的客戶端模態對話框。 (我該怎麼做)

我有一個表單,在服務器端用一些邏輯進行驗證。 如果服務器端代碼指示存在問題,我想向客戶端顯示模式彈出窗口。

我無法通過這種方式使其工作。

我發現,如果我把所有的邏輯客戶端,我可以使用JavaScript函數

window.showModalDialog("url","title", "style"); 

然而,目前的邏輯是在服務器端。 這是一個ASP.NET 3.5 Web項目 - 是否有一些方法可以使用AJAX控件(如scriptmanager,更新面板等)來執行此操作?

謝謝!

回答

0

您需要使用AJAX回調來執行服務器端驗證並向客戶端返回響應 - 然後決定是否顯示模式對話框......但是,爲什麼您需要在服務器上進行驗證?通常最好在客戶端嘗試並驗證以保存往返...

+0

可能他正在驗證客戶端(速度)和服務器端(安全性)。我不確定這個具體情況,但這是爲什麼會做服務器端驗證的原因。 – ahockley 2008-11-18 23:55:10

1

請注意,所有瀏覽器都不支持模態對話框。

如果您的服務器端驗證失敗,您可以使用DHTML完成類似的事情,並從服務器端設置div的可見性。

您也可以查看Telerik's RadWindow control,這是部分爲解決模態對話問題而設計的。

2

我知道你使用ScriptManager控件來做到這一點。基本上你只需從服務器發送一行JavaScript即可立即執行。在這種情況下,您描述的客戶端行。

對不起,模糊,但它幾乎是退出時間,我將不得不grep通過很多代碼來找到一個例子。

Here is an example

0

你真的不應該使用模式popuper。首先它只能在IE中運行。其次,它是真的惱人的最終用戶...

你應該使用像例如這個; Ra-Ajax Clendar Starter-Kit(單擊左下角的「創建新活動」)

相關問題