ASP.NET MVC作為微軟官方的.NET平臺下MVC解決方案,自誕生起就吸引了眾多.NET平臺開發人員的眼球。在經歷了漫長Preview后,上個月微軟終于發布了其beta版。應該說,通過我親身實踐,我認為這個框架的設 " /> 黄色搞鸡网站,久久秋霞理伦片,国产精品成人不卡在线观看

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

ASP.NET MVC小論

  前言
      ASP.NET MVC作為微軟官方的.NET平臺下MVC解決方案,自誕生起就吸引了眾多.NET平臺開發人員的眼球。在經歷了漫長Preview后,上個月微軟終于發布了其beta版。應該說,通過我親身實踐,我認為這個框架的設計還是相當優秀的,至少從易用性來說,ASP.NET MVC要優于Java平臺上的Struts和Struts2。使用Struts實現MVC時,除了要寫一堆ActionForm、Action和ActionResult外,最頭疼的莫過寫于各種xml映射配置文件。Struts2雖然不用再寫ActionForm,并且降低了侵入度(其實Struts2和Struts關系不大,而基本可以認為是WebWork的后續版本),但是仍無法避免xml配置文件。
      ASP.NET MVC從一開始的設計思路就與Struts不同,它的映射是利用路由配置而非xml,從而大大降低了開發復雜度,并且比Struts要更直觀,更容易上手。
      可是,這并不表明ASP.NET MVC就是盡善盡美的。在我實踐的過程中,發現某些地方使用起來還是不太方便,在這里小小論述一下。不妥之處,還請各位盡情批評。
  別扭的視圖:能不能不要讓我承擔邏輯
      我個人認為,ASP.NET MVC第一個不太妥當的地方就是視圖的實現。在這個框架中,視圖是使用ASPX文件實現的。就呈現數據這一需求來說,ASP.NET MVC下一般性的做法是:控制器負責調用Model完成數據的讀取,并將需要呈現的數據通過ViewData傳遞給視圖,并選擇某視圖呈現。被選中的視圖要負責將ViewData中相應的數據讀取、分解,然后使用一定的邏輯語句將其呈現。
      這個方式,就要求視圖中存在一定的邏輯語句,如將ViewData中數據轉換成相應類型的類型轉換語句;如果需要按照某一條件呈現不同內容,則需要分支語句;而常用的表格式數據呈現需要用到循環語句。于是,我們就會看到視圖中充斥著各種<%%>、if、foreach等等的東西。
      當然,我不否認,良好的編寫可以讓這些代碼整潔的出現在視圖中。然而,在我的心目中,一個良好基于Web應用的MVC框架設計,其視圖是不應該存在任何可執行代碼的,而應該是一個單純的模板文件,或者說含有可替換標簽的頁面文件,就像php平臺下的Smarty那樣。至于視圖中相應的可替換標簽替換成什么內容,應該是控制器的責任。設計一套良好的標簽模板,對數據、分支、循環等常見任務設置相應標簽,我認為是更適合ASP.NET MVC的視圖設計。一來,這樣可以讓視圖真正“靜態化”,更有利于邏輯和表示的分離;二來,美工可以更好的關注于僅包含html代碼和標簽的視圖,而不用關注于可執行代碼。
  對Ajax的支持:仍然很不方便
      我們知道,現在在一個Web應用中加入Ajax元素是司空見慣的,微軟當然知道這一點,所以在ASP.NET MVC中,天然支持ASP.NET AJAX和jQuery,并提供了一個AjaxHelper來完成一些輔助性操作。然而,這個AjaxHelper的功能真是遠遠不夠。
      由于ASP.NET MVC的特性,導致某一個Action的Url不是固定的。所以在請求Action時,一般不是將Url硬編碼在頁面中,而是通過Html.ActionLink動態生成。這就出現了一個問題,Ajax請求怎么辦?當然,對于點擊鏈接或提交表單觸發的Action,AjaxHelper有專門的輔助方法,但是,如果某個Ajax請求不是通過鏈接或表單觸發的,就會很有問題。畢竟你不能把Url硬編碼在js里。
      關于這個問題,沒有太好的解決方案,目前只能用一些類似hack的方式。如將Url用Html.ActionLink寫入某個span,再將這個span的display設為none。最后,js從span中讀入Url進行請求。
      希望在后續版本中,ASP.NET MVC能對Ajax有更好的支持。
  文檔
      再一個我認為ASP.NET MVC不太理想的地方就是沒有完整的配套文檔。目前能找到的官方文檔只有Quick Start,并沒有完整的開發文檔。也許是因為正式版還沒有發布吧,希望配套文檔能盡快推出。
  后面的話
      雖然有以上諸多不便,但是ASP.NET MVC作為一個正在發展的框架,我個人還是很看好其前景的。希望它能越來越完善,給ASP.NET平臺上的MVC開發帶來更多的便利。

NET技術ASP.NET MVC小論,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 日韩中文字幕在线有码视频网 | 精品国产制服丝袜高跟 | 六月婷婷啪啪 | 一本色道久久鬼综合88 | 中文字幕亚洲一区二区va在线 | 福利一区二区 | 色www精品视频在线观看 | 九九色综合网 | 婷婷玖玖 | 欧美成年黄网站色高清视频 | 欧美一区二区精品 | 欧洲免费无线码二区5 | 高清视频一区二区 | 国产午夜免费视频片夜色 | 午夜精品一区二区三区在线观看 | 伊人免费在线 | 99久久精品免费观看国产 | 欧美色涩 | 深爱激情成人 | 久久久久久综合一区中文字幕 | 美女黄视频免费 | 91在线国产观看 | 精品一区二区三区在线视频 | 久久影视一区 | 92看片淫黄大片欧美看国产片 | 日韩亚洲一区中文字幕在线 | 国产特黄一级一片免费 | 五月激情丁香婷婷综合第九 | 久久久久久91精品色婷婷 | 久草色视频| 91碰在线视频 | 国产超清在线观看 | 婷婷激情亚洲 | 欧美成人禁片在线www | 欧美特黄一级片 | 超级香蕉97视频在线观看一区 | 国产精品免费大片一区二区 | 亚洲欧美人妖另类激情综合区 | 欧美成人高清手机在线视频 | 成年黄网站色视频免费观看 | 色女网站|