2010-03-10 44 views
0

我是一名本科生, 並且在最近一年的項目中工作。 我有相關的自定義控件的一些疑問如下: 我設計一個文本框字段,將有三個或更多的功能如下:服務器或客戶端自定義ASP.Net控件?

  • 無論它將使數字字符只有
  • 或者,它將使電子郵件地址將被視爲輸入
  • 或者這將是一個文件上傳文本框

我使用jQuery來驗證該文本框。對於如。用於檢查用戶是否只輸入了數字字符!

我的問題是

  • 有什麼更好的方法來建立這樣的自定義控件?要麼使它純粹的客戶端或純服務器端或兩者?
  • 此外,我需要在文件上傳中包含AJAX功能。 如果客戶端瀏覽器由於某種原因不支持Java腳本,那麼我們如何才能避免這種約束? 非常感謝您的時間! 請幫助我。

回答

0
  1. 所有你必須決定是否需要同時支持客戶端和服務器端功能,爲您的控件的第一位。這將取決於你的需求。如果您將它作爲大型應用程序的一部分編寫,我會建議同時使用它們,因爲它更容易管理。如果您決定確實需要這兩者,ASP.NET將包含您正在查找的確切功能。這就是所謂的Extender控件。他們將允許您創建自定義的服務器端控件,並擴展該控件以包含一些客戶端功能。您可以獲得更多關於Extenders here的信息。

  2. 優雅失敗AJAX控件很少見,大多數創建AJAX控件的開發人員都假設所有客戶端都會打開JavaScript。但是,他們並不那麼難。實際上,如果您使用ASP.NET AJAX更新面板,它們非常容易。如果JavaScript被禁用,更新面板本身將自動切換到完整的回傳。如果您使用AJAX或jQuery的自定義實現(如上所述),則必須遵循一些簡單的規則。首先,避免從腳本內部綁定事件,使用onclick,onmouseover等。這樣,如果鏈接有onclick事件,並且有效的href標籤,如果JavaScript打開,您將處理onclick事件處理程序,但是如果它們是關閉,您只需按照href屬性值。對於上傳者,你可以將你的上傳器放在FORM元素中,並添加onsubmit事件。如果JS處於打開狀態,您將處理onsubmit,並執行AJAX調用以保存文件,如果JS處於關閉狀態,則將執行完整頁面回發並從服務器端保存該文件。

相關問題