Intro to ASP.NET MVC 4 with Visual Studio

Intro to ASP.NET MVC 4 with Visual Studio [译一:目录]

作者:Rick Anderson and Scott Hanselman

译者:PeterZhang

注: 边读编译,如有不准确之处,请予以纠正,谢谢!!!

----------------------------------------------------------------------------------------------------------------- 

目录

入门

      将创建

      入门指南

      创建第一个应用程序

添加一个控制器

添加一个视图

      改变视图和布局页面

      从控制器向视图传数据

添加一个模型

      创建模型类

      创建连接字符串连接SQL Server LocalDB

从控制器中访问模型的数据

      创建电影类

      检查自动生成的代码

      强类型模型和 @model 关键字

      与SQL Server LocalDB配合工作

检查编辑方法和编辑视图

      处理POST请求

      添加搜索方法和搜索视图

      显示 SearchIndex Form

      添加类别搜索

      在SearchIndex上添加标记以支持类别索引

添加新字段到电影模型和表

      在电影模型上添加费用属性

      模型和数据库模型的区别

      当模型改变时自动重创建数据库

模型上添加验证

      不要写重复的代码

      在电影模型上添加验证规则

      ASP.NET MVC中验证错误的界面显示

      在创建视图和创建Action方法中如何验证

      在电影模型中添加格式验证

检查详细信息和删除方法

      检查详细信息和删除方法

      总结

-----------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------

     MVC 代表 model-view-controller (模型-视图-控制器)。MVC 是结构良好,可测试,易于维护的程序设计模式。基于MVC的应用程序包含:

  • 模型:类,代表应用程序使用的数据和数据相应业务规则的验证逻辑。
  • 视图:应用程序用于动态生成HTML响应的模板文件。
  • 控制器:类,处理浏览器请求,取回模型数据,然后选择响应浏览器的视图模板。

     在本教程中将涵盖这些概念,并演示如何使用它们创建一个应用程序。

     让我们首先创建一个控制器类。在项目浏览器中,右键 Controller 文件夹, 然后选择 “添加控制器”。

Intro to ASP.NET MVC 4 with Visual Studio_第1张图片

     命名新的控制器为“HelloWorldController”。保留默认模板Empty MVC controller,然后点击“添加”。

Intro to ASP.NET MVC 4 with Visual Studio_第2张图片

     在项目浏览器中创建了一个名为 HelloWorldController.cs 的新文件。这个文件在IDE中打开了。

Intro to ASP.NET MVC 4 with Visual Studio_第3张图片

     用下面的代码替换文件内容。

复制代码
using System.Web; 
using System.Web.Mvc;  

namespace MvcMovie.Controllers  
{  
    public class HelloWorldController : Controller  
    {  
        //  
        // GET: /HelloWorld/  
  
        public string Index()  
        {  
            return "This is my <b>default</b> action...";  
        }  
  
        //  
        // GET: /HelloWorld/Welcome/  
  
        public string Welcome()  
        {  
            return "This is the Welcome action method...";  
        }  
    }  
}
复制代码

      该例子中控制器方法返回一个HTML字符串。控制器被命名为 HelloWorldController,上面的第一个方法是 Index。 让我们从浏览器中调用该方法。运行应用程序(按F5或Ctrl + F5)。 在浏览器中,在网址后面附加 “HelloWorld”。(例如, 在下面的插图中,网址是 http://localhost:12434/HelloWorld。)浏览器中页面显示如下图。 在上面的方法中,代码直接返回字符串。 你告诉系统返回HTML,然后它返回!

Intro to ASP.NET MVC 4 with Visual Studio_第4张图片

     ASP.NET MVC 根据URL调用不同的控制类(和其中不同的action方法)。ASP.NET 使用如下格式的默认路由逻辑决定调用什么代码:

     /[Controller]/[ActionName]/[Parameters]

     URL的第一部分决定要执行的控制类。/HelloWorld 映射为 HelloWorldController 类。 URL的第二部分决定要执行的action方法。/HelloWorld/Index 将执行HellowWorldController类的Index方法。如果只是浏览/HelloWorld,默认调用Index方法。这是因为没有指明action方法时,Index为默认的调用方法。
     浏览http://localhost:xxxx/HelloWorld/Welcome。Welcome方法被调用且返回字符串“This is the Welcome action method...”。 默认的MVC映射是/[Controller]/[ActionName]/[Parameters]。 对于该URL,controller是HelloWorld,Welcome是action方法。在该URL中没有使用[/Parameters]。

 Intro to ASP.NET MVC 4 with Visual Studio_第5张图片

     让我们对这个例子做些更改以便从URL传递参数到控制器(例如,/HelloWorld/Welcome?name=Scott&numtimes=4)。如下更改Welcome方法接受两个参数。注意下面的代码使用C#的可选参数特性,指明在没有为numTimes参数传递值时使用默认值1。

public string Welcome(string name, int numTimes = 1) { 
     return HttpUtility.HtmlEncode("Hello " + name + ", NumTimes is: " + numTimes); 
}

     运行程序,输入示例URL (http://localhost:xxxx/HelloWorld/Welcome?name=Scott&numtimes=4)。你可以在URL中为name和numtimes传递不同的值。ASP.NET MVC 模型绑定系统自动把地址栏查询字符串中的参数映射为控制器中方法的参数。
Intro to ASP.NET MVC 4 with Visual Studio_第6张图片

     在这些示例中,控制器一直在做MVC的“VC”部分--即视图和控制器的工作。控制器直接返回HTML字符串。通常你不期望控制器直接返回HTML,因为代码会变得非常繁琐。相反会使用一个单独的视图模板文件来生成HTML相应。下面来看看如何做这点。

作者: Peter
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
淘宝小店
分类:  翻译
标签:  asp.net mvc 4
作者: Peter
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
淘宝小店
分类:  翻译
标签:  asp.net mvc 4

你可能感兴趣的:(mvc,asp.net,4)