2

我只有使用网络表单的经验,但我最近开始学习 MVC4 以拓宽我的知识。然而,作为一个只有网络表单经验的人,我花了一段时间才掌握了 MVC4。

我基本上已经使用布局和视图为站点设置了显示,并使用控制器调用视图。

但是我想继续并开始给网站一个目的,比如注册等,这需要一些繁重的 c# 编码。

但是,我不知道应该在哪里放置处理程序等。我想我应该在控制器中进行数据连接和所有后台进程?

如果我错了,请纠正我。

4

2 回答 2

4

通常,您可以将您的 c# 代码放在您想要的任何位置。MVC 默认遵循的唯一约定是ControllersandViews文件夹。从技术上讲,该文件夹的唯一原因Controllers是因为放置在其中的控制器将默认使用MyApp.Controllers命名空间。控制器由名称和命名空间解析,而不是文件位置(与视图不同)。

我通常做的是将业务特定的服务放在一个Services文件夹中,将实用程序/基础设施放在一个Infrastructure文件夹中。

但是,您可以随意安排您的 c# 代码。

于 2013-07-08T06:38:07.817 回答
3

MVC(模型视图控制器)。

您在“模型”中的所有数据访问逻辑代码。您在“视图”中的视图和 UI。您在“控制器”中的所有业务逻辑代码。

为了让他们互相交流。这是一个简单的例子:

您的型号代码:

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>

希望它会有所帮助。

于 2013-07-08T06:53:03.663 回答