asp.netMvc3电影商店之添加控制器

 

添加一个控制器(C#)

 

 

本文作者是Rick Anderson  下面的是原文网址

http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/adding-a-controller

By Rick Anderson, Rick Anderson works as a programmer writer for Microsoft, focusing on ASP.NET MVC, jQuery and Entity Framework. He enjoys working with the top contributors in the ASP.NET MVC forum.

本教程会教你使用微软 Visual Web Developer2010 express2010sp1来建立一个ASP.NETmvc web 应用程序,Visual Web Developer2010 express2010sp1是 Microsoft Visual Studio 的免费版。在开始之前,请确保您已经安装了下面列出的前提条件。您可以通过单击下面的链接来安装所有这些软件: Web 平台安装程序或者,您可以使用下面的链接单独安装这些系统必备的组件:

(第一个的用处不大,只要有vs2010应该就不用下第一个了,但是第二个是一定要下的,不然后面有一些地方就和教程的界面不一样了,第三个我想说vs2010里没有(至少我这个米有。。。。)

Sql Server Compact 4.0相比3.5版本增强了很多,支持Entity Framework 4.1,对于轻量级应用来讲,使用Sql Server Compact 4.0是个很好的选择,而且部署相当方便,不需要Sql Server Compact 4.0的安装包,仅需要发布相关的dll以及web.config配置即可。

具体看这篇文章

Sql Server Compact 4.0部署注意事项


如果您使用 Visual Studio 2010 的而不是Visual Web Developer 2010,安装系统必备组件通过单击下面的链接: Visual Studio 2010 的必备组件.

本教程的源代码下载下载 C# 版本如果您更喜欢 Visual Basic,切换到本教程的Visual Basic 版本

MVC 代表模型-视图-控制器MVC 是一种易于架构和维护的开发应用程序的模式。基于 MVC 的应用程序包含:

  • 控制器: 处理应用程序传入的请求,取得模型数据,然后指定返回客户端响应的视图模板的类。
  • 模型: 表示应用程序的数据和对数据使用验证逻辑来强制实施业务规则的类。
  • 视图: 您的应用程序用来动态生成 HTML 响应的模板文件。

我们在此教程系列中会覆盖所有这些概念,并向您展示如何使用它们来构建应用程序。

让我们首先创建一个控制器类。解决方案资源管理器中,右键单击Controllers的文件夹,然后选择添加控制器.

asp.netMvc3电影商店之添加控制器_第1张图片

把您的新的控制器命名为"HelloWorldController"。保留空控制器默认模板,然后单击添加.(在这里要特别注意一定不能把”helloworld“后面的“Controller”丢掉,不然会找不到对应页面的)

asp.netMvc3电影商店之添加控制器_第2张图片

注意到在解决方案资源管理器中已创建了一个名为HelloWorldController.cs的新文件该文件已在 IDE 中打开。

asp.netMvc3电影商店之添加控制器_第3张图片

public class HelloWorldController块中,创建两个包含如下代码的方法。控制器将返回 HTML 的字符串。

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..."; 
        } 
    } 
}

您的控制器被命名为HelloWorldController,上面的第一种方法被命名为Index让我们用浏览器来浏览它。运行应用程序 (按 F5 或 Ctrl + F5)。在浏览器中,将"HelloWorld"追加到地址栏中的路径。(例如,在下面的图片里,它是http://localhost:43246/HelloWorld。)在浏览器中页面看起来将会像下面的图片。在上面的方法中,代码直接返回一个字符串。你告诉系统返回一些 HTML,它就照做了 !

asp.netMvc3电影商店之添加控制器_第4张图片

ASP.NET MVC根据传入的 URL 调用不同的控制器类 (和他们内部不同的操作方法) 。ASP.NET MVC 所使用的默认映射逻辑使用这样的格式来确定哪些代码会被调用:

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

 URL的第一部分确定要执行的控制器类。所以/HelloWorld将映射到HelloWorldController类。URL的第二部分 确定要执行类里的对应操作方法。所以/HelloWorld/Index会导致HelloWorldController类执行Index方法。请注意,我们浏览/HelloWorldIndex方法将会被默认执行。这是因为如果没有显式指定方法,被命名为Index的方法是调用控制器的默认方法。

浏览http://localhost:xxxx/HelloWorld/Welcome这个地址。Welcome方法运行,并返回字符串"This is the Welcome action method..."。默认的 MVC 映射/[Controller]/[ActionName]/[Parameters]对此 URL而言,控制器是HelloWorld方法是welcome。你还没有使用 URL 的[Parameters]部分。

asp.netMvc3电影商店之添加控制器_第5张图片

让我们稍微修改一下示例这样就可以将一些参数信息利用 URL 传递到控制器 (例如, /HelloWorld/Welcome?name=Scott&numtimes=4)。更改您的Welcome方法,使其包括如下所示的两个参数。请注意如果没有numTimes参数传递值时该代码使用 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.netMvc3电影商店之添加控制器_第6张图片

在这两个示例中,控制器一直在做 MVC的"VC"部分 — — 那就是视图和控制器的工作。这里的控制器直接返回 HTML。通常你不想控制器直接返回 HTML。因为那会使编程变得非常棘手。一般来说我们会使用一个单独的视图模板文件来帮助生成 HTML 响应。让我们瞧瞧接下来我们如何实现这个。

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