1
我有一個asp.net網頁(C#2008),用戶輸入一個EmployeeID,當他們退出文本框(頁面執行驗證代碼塊在代碼隱藏),他們會得到一個消息框,提示他們從下拉列表框中選擇兩個值中的一個。驗證後刷新asp.net網頁
在代碼隱藏消息提示的代碼是:被顯示在提示
Response.Write("<script>window.alert('Please select Alpha or Beta')</script>");
之後,並且用戶點擊「OK」,並返回到該網頁,在網頁上的文字出現失真(該在標籤中的文字是一個更大的尺寸,標籤被包裝到另一行等)
我試圖把Response.Redirect("UserProfileMaint.aspx");
之後的代碼隱藏messagebox,但現在,messagebox不出現;
所以這是我SQUENCE:
- 用戶輸入僱員
- 如果用戶沒有選擇阿爾法或 測試版,然後顯示消息框
- 如果用戶選擇Alpha或Beta, 然後穿上」 t顯示消息框
我想顯示消息框驗證,並確保頁面上的文本外觀不失真。我怎樣才能做到這一點?
Response.write會將您的消息寫在頁面的最頂端,這就是爲什麼您的頁面會變形。 – 2010-04-09 14:38:38
不,與「
當您調用Response.Redirect時,發生在服務器端,而您希望重定向發生在客戶端一側後,進行選擇。要做到這一點,當你用Response.Write編寫你的腳本(順便說一句,有很多更好的方法來做到這一點),你將有邏輯確定用戶選擇什麼,然後基於選擇,不管是重新查詢他們爲數據,或將固有文檔對象的位置屬性設置爲您要重定向到的URL。
來源
2010-04-09 14:42:23 casperOne
處理此問題的最佳方法是使用Javascript並進行客戶端驗證。如果你真的想做服務器端驗證,那麼應該使用RegisterStartupScript或者使用頂部的Label來更好地顯示消息,而不是使用Response.Write顯示警報。
HTH
來源
2010-04-09 14:42:28 Raja