我對「內部」 asp.net應用程序的工作,並喜歡使用asp.net的MVC,但由於我們的應用程序部署到Web服務器不在我不能我們的控制,目前只有.net framework v2和IIS6。除了沒有時間/金錢花在轉換當前的WebForms應用程序上...通過asp.net MVC啓發更好的WebForms
所以任何信息幫助我創建更好的WebForms asp.net應用程序將不勝感激...我讀過「什麼吸引」關於來自MVC人的WebForms列表,肯定有解決方案/變通辦法,使WebForms「少sucky」...
東西,我理解,可以改善(但需要幫助):
- 刪除視圖狀態爲不回發(去掉RUNAT = 「服務器」 標籤頁) ?
- 最小化視圖狀態的使用 - 使用
<span><asp:literal /></span>
而不是一個asp:標籤(我們從來不使用服務器端控件的樣式屬性,但使用的CssClass主要歸因於保持CSS在CSS文件) - 爲Ajax請求使用ashx的處理程序(這可以進一步嗎?例如回發給處理程序?)
- 可以查看狀態完全刪除,仍然回發? (是否讀取表單變量,而不是讀控制值?)
- 您可以關閉ViewState的編程方式,如果你知道用戶擁有的JavaScript的?例如那麼一個Ajax請求可以提交表單,但如果JavaScript禁用,將工作?
- 我們已經保持我們所有的業務邏輯在BR/BL層,我們必須對數據庫訪問了類似的DAL層...所以ASPX代碼背後,是通常相當輕...(驗證也是在BR/BL等等該響應Ajax請求或回傳的相同任務需要的代碼很少(或沒有)複製)
- 使用較少的組件...(較少的服務器控件......在一定程度上,這也意味着使用贏得控制沒有廢話的ID)
我真的不喜歡整齊格式化的網址作爲其基於內部網的(幾乎不相關的),SEO是無關緊要的......即使MVC網址看起來輝煌...
再次,任何幫助,資源,代碼示例或任何將是很棒! 謝謝堆。
閱讀那篇文章,並感覺所有的viewstate污染,我毫無疑問造成了狡猾...優秀的鏈接!此外,它澄清了viewstate沒有必要在回發期間獲取表格值(我現在知道的是一個神話) – davidsleeps 2009-08-07 01:47:18