簡體   English   中英

服務器還是客戶端自定義ASP.Net控件?

[英]Server or CLIENT side Custom ASP.Net Controls?

我是一名本科生,現在正在從事我的“最后一年”項目。 我有一些與自定義控件相關的查詢,如下所示:我正在設計一個文本框字段,它將具有以下三個或更多功能:

  • 要么只允許數字字符
  • 否則它將允許使用電子郵件地址作為輸入
  • 否則它將是一個文件上載文本框

我正在使用jQuery驗證此文本框。 用於檢查用戶是否僅輸入數字字符!!

我的問題是

  • 構建此類自定義控件的更好方法是什么? 使其成為純客戶端或純服務器端,還是兩者兼而有之?
  • 另外,我需要在文件上傳器中包含AJAX功能。 如果客戶端瀏覽器由於某種原因不支持JavaScript,那么我們如何避免這種約束? 非常感謝您的寶貴時間 ! 請幫助我。
  1. 首先,您必須確定控件是否需要客戶端和服務器端功能。 這將取決於您的需求。 如果您將其作為大型應用程序的一部分進行編寫,則建議同時使用它們,因為它更易於管理。 如果您決定同時想要兩者,則ASP.NET包含您要查找的確切功能。 它稱為Extender控件。 它們將允許您創建自定義服務器端控件,並將該控件擴展為包括一些客戶端功能。 您可以在此處獲取有關擴展器的更多信息。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM