台灣最大程式設計社群網站
線上人數
1678
 
會員總數:239936
討論主題:186063
歡迎您免費加入會員
討論區列表 >> ASP.NET >> ASP.NET MVC 在View寫程式碼的缺點有哪些?
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
ASP.NET MVC 在View寫程式碼的缺點有哪些?
價值 : 200 QP  點閱數:306 回應數:3

樓主

Chen
高級專家
8152 50
4054 774
發送站內信

捐贈 VP 給 Chen
因為學習MVC時,被教育的是Controller是寫邏輯的地方,View撰寫的通常只是對Model的資料做些簡單處理才會撰寫程式碼。
不過當我大量使用AJAX與PartialView時,發現參數的傳遞相當麻煩,都得用ViewBag相互傳來傳去,例如一個值A,得在各Action傳入又傳出,不然會消失,也許Session可以儲存,但也得用ViewBag傳給View,實在很麻煩!所以我嘗試直接在View讀寫Session,就相對簡單!後來變本加厲,乾脆在View撰寫部分邏輯程式,呼叫DLL,讀取Model...∼

但問題就是,如果不太會共用的程式碼,把View當Asp.Net那樣寫前端程式,有什麼問題嗎?

搜尋相關Tags的文章: [ MVC ] , [ View ] ,
本篇文章發表於2017-03-11 07:08
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

topcat
捐贈 VP 給 topcat 檢舉此回應
職責分離的概念

>>Controller是寫邏輯的地方?
小喵的理解好像不是這樣

Controller是負責
1.進入的Request
2.與Model,View溝通的橋樑

View負責
1.畫面展示內容
2.畫面中Client端的互動(JS)

Model
1.資料存取
2.商業邏輯
3.畫面運作所需的類別(ViewModel)

彼此之間各司其職,並相互合作
所以,您說的邏輯(商業邏輯),小喵會寫在Model中,甚至於抽出到別的專案,然後再加入參考。
^_^
本篇文章回覆於2017-03-13 12:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

Daimom
捐贈 VP 給 Daimom 檢舉此回應
我到後來都直接寫成webAPI了,
單純丟json格式給view,看畫面要怎麼排,在透過jquery及css解決。
本篇文章回覆於2017-03-13 13:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
>>把View當Asp.Net那樣寫前端程式,有什麼問題嗎?

您的想法,比較接近早期「ASP 3.0」那個時代的想法(20年前的想法、作法)
即使是ASP.NET WebForm
至少也會寫在CodeFile中(xxx.aspx.vb or xxx.aspx.cs)
或者將部分內容,抽出來寫在App_Code中的類別,搭配ObjectDataSource使用,甚至抽出專案,寫在另外的專案

>>如果不太會共用的程式碼
這樣的前提,小喵個人覺得怪,現在的需求如此,但未來呢?
如果未來需要類似的功能,邏輯,那麼怎麼做?複製一份出來,寫成兩份、三份、...n份
邏輯不會是一成不變的(除非你寫完就拍拍走人,技術債留他人?)
後續當邏輯隨著時空要應變時,面對n份一樣的邏輯,怎麼改?怎麼修?怎麼測?

所以,適當的為系統設計良好的架構,開發符合一定的規範,有助於後續系統的維護。

撰寫系統不只是為了解決眼前的問題,更好的作法,是為後續的問題處理做好準備
舉個例子,早期只有Web可以因應大部分的需求
但,後來,手機平板流行了,希望可以做成APP
如果您的邏輯都是寫在Web的畫面中
那麼,Web要不要留?要
App要不要做?要
邏輯寫兩套嗎?
如果早將邏輯的部分抽出,寫在元件中
那麼,App的部分只需寫UI與資料介接的部分,邏輯的部分就一套,兩邊都可以用
這樣未來維護起來,不是簡單許多
^_^

以上提供您參考
建議您好好思考一下,怎麼做未來系統比較容易維護?

^_^

本篇文章回覆於2017-03-14 08:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.