簡體   English   中英

ASP.NET 回傳 x jQuery:有什么優缺點?

[英]ASP.NET Postbacks x jQuery: What are the cons and pros?

我將在我們的一些 Web 應用頁面上開始一些實驗室原型。 我們使用了很多 Postback、ViewState、UpdatePanels、ModalPopup Extenders,所有 ASP.NET 常用的東西。 對於大多數情況來說已經足夠了。 但我想把事情推得更遠...

我一直在玩 jQuery 一段時間了。 我知道有什么能力。 我正在考慮將 ASP.NET 常用的東西替換為$.ajax()$.get()等。不再有回發。 用戶界面? jQuery 用戶界面。 一些插件給我留下了深刻的印象,特別是 jQuery 網格。

我認為這是 Web UI 的下一步。 我的意思是,這已經是當前步驟,我喜歡 C# 的強大功能。 但我對 ASP.NET 框架印象不深,我想通過這樣做。 我將真正將 UI 與業務邏輯分開。

然而:

  • 我真的應該這樣做嗎?
  • 后面的代碼應該只有 Web Handlers 和 Web Services 嗎?
  • 我應該注意什么?
  • 安全性如何? 如何實施?
  • 我會得到什么? 我知道我會在性能上獲得一些提升,因為 ViewState 的原因是數據過多的頁面中的回發需要時間,並且我將只處理 XML 和/或總是輕的 JSON 格式。 但我想,像往常一樣,會有痛苦......
  • 哪里會痛?

反正我會慢慢來的。 但我想問你們:我在這里做什么?

在我回復之前,我強烈建議你 go 用於 ASP.NET MVC 框架。 這是一種與 Webforms 完全不同的開發方式。 它距離 ViewState 和那個垃圾只有一步之遙。 這是微軟全力以赴的地方,這是目前在 .NET 堆棧上構建更具可擴展性和交互式網站的唯一方法。

我真的應該這樣做嗎? 是的。 jQuery + Ajax 非常好,可以讓您建立一些非常互動和可用的網站。 現在事情的發展方式,說實話,如果您不在客戶端使用 Javascript 的強大功能,您的網站可能會建於 1995 年。

后面的代碼應該只有 Web Handlers 和 Web Services 嗎? 您應該只使用處理程序/服務來改進頁面的設計。 您不能僅在此基礎上構建整個網站。 方法是創建一個頁面,然后通過服務對其進行改進。 避免回發小細節。 並通過 Ajax 等提高速度。在 Ajax 上制作整個網站並不是一個好主意。

我應該注意什么? 從技術上講,您需要了解客戶端編碼以及 HTTP 如何在 Internet 上工作。 ASP.NET 在幕后完成了這一切,所以你甚至不需要知道,但如果你正在做回發等,那么你應該了解它的局限性等。

安全性如何? 如何實施? Ajax 的安全性並不多,只要您執行與正常回發相同的操作,例如 CSS 攻擊、SQL 注入等。

我會得到什么? 我知道我會在性能上獲得一些提升,因為 ViewState 的原因是數據過多的頁面中的回發需要時間,並且我將只處理 XML 和/或總是輕的 JSON 格式。 但我想,像往常一樣,會有疼痛……疼痛會在哪里? 痛苦通常是復雜性。 但復雜性伴隨着靈活性。 傳統的 ASP.NET 無需您干預即可處理所有事情。 但是現在你必須組成請求,將其發送到服務器,接收回復,然后相應地更新 DOM。 你必須處理所有這些,但另一方面,你可以隨心所欲地處理它。

希望有幫助。

我說是。 回發對開發人員來說很容易,但對用戶體驗來說卻很糟糕。 不要僅僅為了切換頁面上的框而讓他們承受沉重的頁面加載。

但是,您需要考慮這將花費的時間,特別是因為您可能不得不依賴越來越多的 javascript 代碼(如果您是新手,這可能會很挑剔)。

我最近在一個大型項目中完成了它,我很高興我做到了。 我從整頁回發轉移到 WebMethods 和 web 服務。 嘗試減少服務器上的 state,這將有助於划分每個請求處理程序。

查看asp.net-MVC它很可能是您在談論的內容並實現了 jquery 和 JSON 調用。

如果您使用 PostBack 和 ViewState,您可能會這樣做是有原因的。 它允許組件和事件。 Thats something you will miss in ASP.NET MVC (you dont say you want to use ASP.NET MVC, but if you say ASP.NET without PostBack everyone will understand ASP.NET MVC)

我使用 ASP.NET 和 ASP.NET MVC。 ASP.NET 如果項目實際上更像是一個應用程序而不是一個網站,那么帶有回發的 ASP.NET 就會發揮作用(假設 nyt.com 是一個網站,facebook 是一個應用程序)。

暫無
暫無

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

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