2009-11-25 60 views
2

只是一個隨機問題。我一直在實習,然後作爲軟件設計師工作了將近一年,主要使用SQL Server 2005/2008,以及使用ASP.Net VB/C#和Web軟件開發的Visual Studio 2008。我們最近用ASP.Net MVC開始了一個項目,而我只是沒有得到這個東西。ASP.Net MVC問題,僅適用於高級開發人員?

視圖,控制器,模型等的概念很清楚。我仍然對一些語法感到困惑,但看起來似乎不可能。然而,我的問題是,你有基本的ASP.Net所有的基本控制和功能。想要一個下拉列表?去瀏覽15個教程,其中一個實際上可以工作。如何使用可編輯行的gridview?手動構建表或助手類,同時加載和加載也由幾個不同的教程構建的代碼。面板或多視圖索引如何輕鬆控制頁面上可見的用戶界面?那麼,去學習另一個關於如何從頭開始做的教程。等..

我不認爲MVC是值得的。必須是,有這麼多的人比我說的更聰明,更有經驗。但是現在我已經和這個野獸搏鬥了一個多月,並且越來越沮喪,因爲即使幾乎一年的時間我幾乎沒有開始整個編程的事情,也不得不花費幾個小時甚至幾天的時間來完成最基本的任務,前。

所以我的問題。有像我這樣的其他人嗎?有沒有好的博客或文章向我這樣的人開放? ASP.Net MVC只是一個如此強硬的東西,你需要有豐富的經驗和才能來真正掌握它嗎?

謝謝你的時間。

回答

15

這不適用於高級開發人員。這是爲了很好的開發人員。

大多數ASP.NET WebForms開發人員已經通過多年的努力使其成爲多年,對HTML,CSS,JavaScript或HTTP沒有絲毫的想法。拖放一些控件,設置一些屬性,然後在這裏。這不是專業的方式。你需要知道基礎知識。在某些情況下,標準控件無法幫助您需要解決回發機制,視圖狀態等問題,這只是時間問題。

我同意嘗試實現可編輯數據網格肯定更多,爲控件添加持久性,添加一些不錯的Ajax效果,而不是依賴於UpdatePanel,是的。但是如果你想成爲web開發人員,你真的需要知道這些東西。

您所遇到的一切正在被所有您應該已經學會的東西淹沒,但已經設法推遲了對WebForms的抽象機制做得非常好的感謝。最好的行動是逐步開始學習這些東西。這可能會讓你至少進行6個月的深入研究,以便對手動操作有點或多或少的自信。但是當你這樣做時,你會回頭看看你的開始,並且很高興你做到了。

+1

+1000如果可以的話。這正是我討厭Web窗體的原因,但我喜歡ASP.NET MVC。 – Konamiman 2013-10-11 15:58:03

0

MVC不是一個新概念;事實上其他語言在微軟拿到之前有這種框架long。想想Ruby On RailsZend FrameworkSymfony

如果你說MVC是鐵桿和阿爾法愛好者,那麼你的邏輯其它語言的開發比.NET開發人員要先進得多。我不認爲這是真的。

你的問題與MVC源於你的webform背景; ASP.Net和ASP。NET MVC在概念和方法上有很大的不同。所以對於那些從一個框架轉移到另一個框架的人來說,預計會有一些不熟悉的情況。另一方面,我沒有webform的經驗(雖然我的確有winform的經驗),但是沒有發現MVC很難把握。

我不認爲我比其他人更聰明。

0

我可以建議的是,你需要做更多的事情!你練習越多,它就會變得越清晰。這就是我的方式。我從根本上被MVC概念所困擾,但在經歷了很多挫折之後,我決定我需要強制自己開始使用它,否則我永遠不會得到它。

我建議你實際完成一個或兩個上asp.net/mvc網站上發現從開始到結束的教程。我可以親自推薦NerdDinner(以及本書生成的書 - Pro ASP.NET MVC 1.0)和Storefront教程。

0

ASP.NET MVC建立在一堆舊概念之上 - HTTP,HTML,CSS,JavaScript。等等。整個觀點是直接將他們的權力交給你。如果你無法處理這種能力 - 例如,你不熟悉HTTP的狀態,或者如何用HTML/CSS/JS來構建豐富的頁面 - 你無法用ASP.NET MVC做很多事情。

如果你說你在編程是隻有一年那麼你很可能不熟悉這些概念,這就是問題,而不是在MVC本身。

也許你將ASP.NET MVC作爲ASP.NET的一種改進。這是錯誤的。他們非常不同。想象一下,你自己只用HTML,CSS和jQuery進行web開發[1] ...你能嗎?如果你不能,那麼你會麻煩做MVC。

我個人曾在ASP.NET上工作了兩年,ASP.NET MVC讓人耳目一新。它更簡單,更清潔。

[1]這可以通過例如通過網絡服務提供的數據來完成。

3

我試圖弄清楚MVC的問題是什麼,直到我掌握了提問人和我之間的本質區別 - 就是這樣,我在1979年第一次把手放在鍵盤上,而Zan一直在「工作作爲近一年的軟件設計師「。

當我開始一個或多或少不得不做的一切(至少在呈現UI方面)從頭開始 - 或者至少使用更爲有限的工具包比今天的情況。通過運行一個循環來創建選項來構建下拉列表的概念在某些方面比對數據源綁定到控件並且結果看起來好像是通過魔術(儘管有9年的VB)顯得相當程度上不是。 OLD和超過6年的.NET和C#)

而這正是Forms和MVC之間的核心區別,因爲它現在代表了 - 您生成表示代碼的方式,因此您需要理解HTML並且看似做更多的工作來實現類似的結果(這是人們一直強調MVC是爲每個項目提供合適解決方案的原因之一)。就應用程序的結構而言--MVC鼓勵更好(更可測試)的風格,但不是僅僅意味着實現這一目的 - 大多數技術適用於使用表單和替代模式。

,這再次引起了當代框架和工具的挑戰 - 他們做了巨大大量的工作適合你(去看看動態數據爲例),但他們也隱藏從你這麼多,以至於我們忘的基礎知識以及對構建複雜應用程序的基本構建塊的理解。在這種情況下,這個問題聽起來像是我已經瞭解的一個問題,它正在瞭解如何構建網頁的實際內容(HTML,CSS,Javascript)以及它如何與服務器交互,而不是僅僅具有整個客戶端體驗自動爲您生成。

MVC不再是「優秀開發人員」的工具而不是Forms,它對於那些希望實現特定結果的開發人員來說是一個很好的工具,儘管它帶有價格,就像窗體也是一個好工具,但是不同的結果,因爲你接受一組不同的妥協。

一位優秀的開發人員可以適應 - 可以學習在不同平臺上工作所需的新技術,針對新環境,針對特定任務使用適當的解決方案,最終可以將固體模式和方法應用於他們的在儘可能的工作無論開發環境...

-1

MVC是偉大的,但它使你最終給你的力量,HTML,CSS和JavaScript的說法是真正的廢話。同樣的邏輯會說:在純SQL中的代碼,忘記nHibernate或Linq。爲什麼抽象不好?我喜歡MVC,但請不要使用這樣的參數。 MVC需要能夠構建複雜的豐富用戶界面(與瀏覽器兼容)。 最後,在HTML,CSS和Javascript上。 MVC迫使你迴歸基礎的事實現在意味着開發者做對了。無論您使用Web表單還是MVC,一個糟糕的JS開發人員都會留下一個糟糕的JS開發人員(對於HTML或CSS也是如此)。 有時候最好不要給團隊中較弱的開發人員提供太多的權力。

1

我也花了一年的mvc我到現在爲止學到的是你可以依賴於客戶端儘可能多的,但在經典的asp.net大部分時間你使用像gridview服務器端控件。在asp.net mvc中,你可以用jQuery控件(如jQgrid和jquery數據表)替換它。你必須花一些時間來學習asp.net mvc它可能看起來更好,然後asp.net經典。 供參考閱讀asp.net mvc pro圖書