Tay*_*nes 5 .net c# web-applications asp.net-mvc-4
我对.net框架和整个MVC编程理念都很陌生.有人可以澄清并给我一个基本的解释,说明控制器如何使用C#与网站进行交互?我理解如何用C#编写代码,并且我理解框架的某些方面,但我不知道它们是如何组合在一起的.
模型 - 是表示某种对象(通常是一种)的数据结构.它的目的是读取,编写和管理对底层对象的访问,目的是保持应用程序状态.
视图 - 用于向用户显示可视界面的组件,可能是使用模型.它可能是一个简单的表格,也可能是完整网页的复杂组合.
控制器 - 用户驱动的应用程序逻辑层是否位于视图和模型之间.它处理用户交互,加载模型并向用户发送视图.它根据用户请求确定向视图发送的模型.
应用程序的整体文件夹结构可能如下所示.
>> Website
>> Controllers
>> Models
>> Views
Run Code Online (Sandbox Code Playgroud)
在C#MVC中,每个控制器必须Controller在名称中包含后缀,它们必须扩展Controller类,并Controller在views文件夹中有一个名称前缀(不带)的文件夹.然后,此文件夹将包含与控制器上的特定操作相关的所有视图.
控制器可以包含定义为公共函数的任意数量的操作.默认情况下,从控制器操作返回结果时,视图的名称必须与操作的名称相对应.但是,您也可以按名称指定视图.从控制器加载视图时,可以将对象作为模型发送到视图,然后生成它的内容.
控制器可以加载任何模型,不受任何限制.
一个Account控制器定义如下与动作Login.控制器放在AccountController.cs文件/Controllers夹中的文件中,该控制器的任何视图(Login在本例中为文件名Login.cshtml)都放在该/Views/Account文件夹中.
注意:命名约定必须正确,因为在控制器和视图之间使用名称来链接数据.
public class AccountController : Controller
{
public ActionResult Login(string returnUrl)
{
if (User.Identity.IsAuthenticated)
{
return RedirectToAction("Index","Site");
}
return View("Login", new LogOnModel());
}
}
Run Code Online (Sandbox Code Playgroud)
可以通过http://www.mysite.com/Account/Login.如果用户通过身份验证,则控制器将重定向到主站点控制器,如果用户未登录,则会显示Login从LogOnModel指定用户加载数据的视图.
这实际上只是触及了可能的表面.阅读ScottGu的一些优秀文章的在线信息,这些文章将深入介绍如何使用MVC.
ASP.NET MVC框架如何 - 第1 部分 // 第2 部分 // 第3 部分 // 第4部分
注意:这些文章稍微过时,因为它们是在2007年为MVC版本1编写的,但模型,视图和控制器交互的概念仍然适用.
| 归档时间: |
|
| 查看次数: |
2211 次 |
| 最近记录: |