Intro to ASP.NET MVC 4 with Visual Studio
2012-12-23 17:30
375 查看
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 文件夹, 然后选择 “添加控制器”。
命名新的控制器为“HelloWorldController”。保留默认模板Empty MVC controller,然后点击“添加”。
在项目浏览器中创建了一个名为 HelloWorldController.cs 的新文件。这个文件在IDE中打开了。
用下面的代码替换文件内容。
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,然后它返回!
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]。
让我们对这个例子做些更改以便从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 模型绑定系统自动把地址栏查询字符串中的参数映射为控制器中方法的参数。
在这些示例中,控制器一直在做MVC的“VC”部分--即视图和控制器的工作。控制器直接返回HTML字符串。通常你不期望控制器直接返回HTML,因为代码会变得非常繁琐。相反会使用一个单独的视图模板文件来生成HTML相应。下面来看看如何做这点。
相关文章推荐
- Getting started with ASP.NET Core MVC and Visual Studio
- 七:Building Web Applications with Visual Studio 2008 & ASP.NET 3.5
- Uninstalling ASP.NET MVC 1.1 after installing Visual Studio 2010 beta 2
- [转载]Getting Started with ASP.NET vNext and Visual Studio 14
- Visual Studio Community 2017中修改ASP.NET MVC项目中类名称空间的一点注意事项
- Asp.Net MVC in Visual Studio 11 Beta - Not Working Upgrading an ASP.NET MVC 3 Project to ASP.NET MVC 4
- [转]Install ASP.NET MVC 4 for Visual Studio 2010
- asp.net 新手资源教程《Total Training Visual Studio 2005 教程》[Microsoft Visual Studio 2005 Productivity with .NET Framework 2.0]【ISO】
- Using the Visual Studio .NET 2003 Debugger with ASP.NET Applications
- ASP.NET MVC 5 SmartCode Scaffolding for Visual Studio.Net
- Uninstalling ASP.NET MVC 1.1 after installing Visual Studio 2010 beta 2
- ASP.NET MVC 單元測試系列 (7):Visual Studio Unit Test
- ASP.NET MVC 4 for Visual Studio 2010 下载地址
- 错误:Visual Studio .NET 已检测到指定的 Web 服务器运行的不是 ASP.NET 1.1 版
- 修改visual studio Temporary ASP.NET Files.
- 昨天下载了本电子书:Enterprise Development with Visual Studio .NET, UML, and MSF
- Getting Started with ASP.NET MVC 5
- ASP.NET MVC 3: Layouts and Sections with Razor
- [Asp.Net WinForm]利用Visual Studio International Pack来获取汉字的拼音缩写