2013-07-08 232 views
0

我只有使用過webforms的經驗,但最近我開始學習MVC4以拓寬知識面。然而,作爲一個只有webforms經驗的人,我花了一段時間去掌握MVC4。我在哪裏將我的C#代碼放在MVC4中?

我已經基本上爲佈局和視圖設置了網站的顯示,並用控制器調用了視圖。

但是,我想繼續前進,並開始給網站一個目的,如註冊等,這需要一些沉重的C#編碼。

但是我迷失在我應該放置處理程序的地方等我想我應該做我的數據連接和控制器中的所有頁內進程?

如果我錯了,請糾正我。

+4

在開始編碼之前先閱讀關於asp.nect mvc的教程 – Cris

+1

This [link](http://www.codeproject.com/Articles/70061/Architecture-Guide-ASP-NET-MVC-Framework-N-tier- En)可以幫助您瞭解MVC應用程序的架構。 – Paritosh

回答

3

通常,你可以把你的C#代碼放在任何你想要的地方。 MVC默認遵守的約定是ControllersViews文件夾。從技術上講,Controllers文件夾的唯一原因是因爲放置在那裏的控制器將默認爲MyApp.Controllers命名空間。控制器是通過名稱和名稱空間來解析的,而不是文件位置(與Views不同)。

我通常所做的是將業務特定服務放在Services文件夾和Infrastructure文件夾中的實用程序/基礎架構中。

但是,您可以自由安排自己喜歡的c#代碼。

+1

+1由於信息清楚,信息清晰。爲了補充這一點,OP,我建議你閱讀「洋蔥建築」。從[傑弗裏巴勒莫的介紹]開始(http://jeffreypalermo.com/blog/the-onion-architecture-part-1/)並從那裏開始。它確實幫助我理解如何以有用的方式構建MVC應用程序。 –

+0

朋友是否對你的C#代碼很好,直接放進View ??而我們用的是 Ajax。 它對頁面性能有影響嗎? –

3

MVC(模型視圖控制器)。

您在「模型」中的所有數據訪問邏輯代碼。 您在「查看」中的視圖和用戶界面。 您在「控制器」中的所有業務邏輯代碼。

爲了讓他們互相交流。這裏是一個簡單的例子:

模型代碼:

public static List<string> GetCountryData() 
{ 
    List<string> lstCountries = new List<string>(); 
    var countryData = yourDBContext.Database.SqlQuery<string>("SPROC_GetCountryData"); 

    if(countryData.Any()) 
    { 
     lstCountries = countryData.ToList<string>(); 
    } 
    return lstCountries; 
} 

控制器代碼:

public ActionResult CountryView() 
{ 
    List<string> lstCountries = YourModel.GetCountryData(); 

    return View(lstCountries); 
} 

您的看法:

@model List<string> 

<ul> 
@foreach (var country in @Model) 
{ 
    <li>country</li> 
} 
</ul> 

希望這將有助於一些。

相關問題