我该把C#代码放在MVC4中的什么位置

本文关键字:MVC4 什么 位置 代码 | 更新日期: 2023-09-27 18:21:31

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

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

然而,我想继续前进,开始给网站一个目的,比如注册等,这需要一些沉重的c#代码。

然而,我不知道我应该把我的处理程序放在哪里。我想我应该在控制器中进行数据连接和所有页后处理?

如果我错了,请纠正我。

我该把C#代码放在MVC4中的什么位置

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

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

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

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>

希望它能帮助一些人。