复制成功
  • 图案背景
  • 纯色背景

笔记

  • 2019-11-16
    为大人带来形象的羊生肖故事来历 为孩子带去快乐的生肖图画故事阅读
    谈谈怎样学好数学_苏步青-中学生文库
lanfenx587..

上传于:2013-08-20

粉丝量:40

苏宁彩票_[官网首页]该文档贡献者很忙,什么也没留下。



MVC说明文档

下载积分:1600

内容提示: MVC3 项目创建: *.空模板选项只生成一个 MVC3 应用程序所需要的最少文件和文件夹; *.Internet 应用程序选项生成一个小型的例子应用程序, 可在其上修改并建立其它功能; 它包括了用户注册与认证、 导航以及一个协调的视觉样式; *.internet 应用程序更小些, 但它是设计用于通过一个域/活动目 录体系结构进行用户认证的环境; *.Razor 视图可以使得 Web 应用程序的开发变压器得更加方便快捷; 第一外 MVC 例子: 不用视图: public string Index() { return "我¨°是º?第̨²一°?个?MVC3的Ì?例¤y子Á¨®…-…-"; ...

文档格式:DOC| 浏览次数:12| 上传日期:2013-08-20 16:58:06| 文档星级:
MVC3 项目创建: *.空模板选项只生成一个 MVC3 应用程序所需要的最少文件和文件夹; *.Internet 应用程序选项生成一个小型的例子应用程序, 可在其上修改并建立其它功能; 它包括了用户注册与认证、 导航以及一个协调的视觉样式; *.internet 应用程序更小些, 但它是设计用于通过一个域/活动目 录体系结构进行用户认证的环境; *.Razor 视图可以使得 Web 应用程序的开发变压器得更加方便快捷; 第一外 MVC 例子: 不用视图: public string Index() { return "我¨°是º?第̨²一°?个?MVC3的Ì?例¤y子Á¨®…-…-"; } 默认视图: public ActionResult Index() { return View(); } 指定视图: public ActionResult Index() { return View("EmptView"); } public string Index(string name,int age=18) { return "欢?迎®-您¨²: êo"+name+" 您¨²的Ì?年¨º龄¢?: êo"+age; } 调用: http://localhost:1452/test?name=aaa http://localhost:1452/test?name=aaa&age=20 默认视图传参以及控制器将数据传递给视图: 控制器: public ActionResult Index(string name, int age = 18) { ViewBag.vName = name; ViewBag.vAge = age; return View(); } 视图: 欢?迎®-您¨²: êo @ViewBag.vName 您¨²的Ì?年¨º龄¢?为a: êo@ViewBag.vAge 调用: http://localhost:1452/test?name=aaa http://localhost:1452/test?name=aaa&age=20 指定视图传参以及控制器将数据传递给视图: 控制器: public ActionResult Index(string name, int age = 18) { ViewBag.vName = name; ViewBag.vAge = age; return View("EmptView"); } 视图: 欢?迎®-您¨²: êo @ViewBag.vName 您¨²的Ì?年¨º龄¢?为a: êo@ViewBag.vAge 调用: http://localhost:1452/test?name=aaa http://localhost:1452/test?name=aaa&age=20 讲解: 1. 控制器、 视图的名称、 动作方法及文件夹命名规则; 2. 地址栏规则; 将for循环在视图中实现: <ul> @for (int i = 0; i < ViewBag.vAge; i++) { <li>将?for在¨²视º¨®图ª?中D书º¨¦写¡ä第̨² @i 次ä?</li> } </ul> 一个 URL 并不等同于一个页面 当你创建一个传统的 ASP. NET Web 窗体应用程序, 或者是一个动态服务器页面(ASP) 应用程序, 在 URL 与页面之间存在一对一的对应。 如果你请求服务器上的一个名为 SomePage. aspx的页面, 那么最好在磁盘上有一个 SomePage. aspx 页面。 如果 SomePage. aspx 文件并不存在, 你将会获得一个丑陋的 404-页面不存在错误。 当创建一个 ASP. NET MVC 应用程序时则大不相同, 你键入到浏览器地址栏的 URL 与你应用程序中的文件之间并没有一个对应关系。 在一个 ASP. NET MVC 应用程序中, 一个 URL 与一个控制器的动作相对应, 而不是磁盘上的页面。 对于一个传统的 ASP.NET 或者 ASP 应用程序, 浏览器请求被映射到了页面。 在 ASP.NET MVC应用程序中, 浏览器请求被映射到了控制器动作。 一个 ASP.NET Web 窗体应用程序是以内容为中心的。苏宁彩票_[官网首页] 而一个 ASP.NET MVC 应用程序则以是应用程序逻辑为中心的。 MVC 各块的作用: MVC 与传统 WEB 请求的差别: 对于一个传统的 ASP. NET 或者 ASP 应用程序, 浏览器请求被映射到了页面。苏宁彩票_[官网首页] 在 ASP. NET MVC 应用程序中, 浏览器请求被映射到了控制器动作。 一个 ASP. NET Web 窗体应用程序是以内容为中心的。而一个 ASP. NET MVC 应用程序则以是应用程序逻辑为中心的。 理解控制器 ——之 ASP. NET MVC 中控制器、 控制器动作以及控制器动作结果 控制器负责用户与 MVC 应用程序交互的方式。苏宁彩票_[官网首页] 当用户发出浏览器请求时, 控制器决定向用户发回什么样的响应 控制器中的任何公共方法都被暴露为一个控制器动作。 对此你需要多加小心。 这就意味着包含在控制器中的任何公共方法都可以由任何可以访问互联网的人调用, 通过在浏览器中输入正确的URL。 控制器应该仅仅只包含最少量的逻辑, 用于返回正确的视图或者将用户重定向到另一个动作。 任何其他的事情都应该包含在模型中。 控制器可能会返回一个特定的视图, 或者是将用户重定向到另一个控制器 一个控制器是一个继承自 System. Web. Mvc. Controller 基类的类。 因为控制器继承自这个基类,所以控制器轻松地继承了一些有用的方法 控制器动作方法: 一个控制器动作必须是控制器类的一个公共方法。 C#方法, 默认时, 是私有方法。 意识到你添加到控制器类中的任何公共方法都会自动被暴露为控制器动作(你必须非常小心, 因为控制器动作可以被全球的任何人调用, 仅仅简单地通过在浏览器地址栏输入正确的 URL) 。 控制器动作还要满足一些额外的需求。 作为控制器动作来使用的方法不能够重载。 另外, 控制器动作不能为静态方法。苏宁彩票_[官网首页] 除了这些以外, 你可以将任何方法作为控制器动作来使用。 控制器的结果: 控制器动作返回一种叫做动作结果(Action Result) 的东西。 动作结果是控制器动作返回给浏览器请求的东西。 ASP. NET MVC 框架支持六种标准类型的动作结果: 1. ViewResult – 代表 HTML 及标记。 2. EmptyResult – 代表无结果。 3. RedirectResult – 代表重定向到一个新的 URL。 4. RedirectToRouteResult – 代表重定向到一个新的控制器动作。 5. JsonResult – 代表一个 JSON(Javascript Object Notation) 结果, 它可以用于AJAX 应用程序。 6. ContentResult – 代表着文本结果。 所有这些动作结果都继承自 ActionResult 基类。 在大多数情况下, 控制器动作 ViewResult。 例如, 代码清单 2 中的 Index() 控制器动作返回了一个 ViewResult。 注意到代码清单2中的Index()动作并没有放回一个ViewResult() 。而是调用了 Controller基类的 View()方法。 通常情况下, 你并不直接返回一个动作结果。 而是调用 Controller 基类的下列方法之一: 1. View – 返回一个 ViewResult 结果。 2. Redirect – 返回一个 RedirectResult 动作结果。 3. RedirectToAction – 返回一个 RedirectToAction 动作结果。 4. RedirectToRoute – 返回一个 RedirectToRoute 动作结果。 5. Json – 返回一个 JsonResult 动作结果。 6. Content – 返回一个 ContentResult 动作结果。 因此, 如果你想向浏览器返回一个视图, 你可以调用 View() 方法。 如果你想要降用户从一个控制器动作重定向到另一个, 你可以调用 RedirectToAction() 方法。 ContentResult 动作结果很特别。 你可以使用 ContentResult 动作结果来将动作结果作为纯文本返回。 举个例子, 如下代码中的 Index() 方法将消息作为了纯文本返回, 而不是 HTML。 public ContentResult Index() { return Content("天¬¨¬涯?浪¤?子Á¨®"); } 当调用上面动作时, 并没有返回一个视图。 而是向浏览器返回了原始的文本“天涯浪子” 。 注意: 创建控制器类应该注意:  如果你创建一个控制器, 它不含有 Controller 后缀, 那么你将无法调用这个控制器  我们应该总是在 Controllers 文件夹中创建控制器(虽然不这么做也可以) 。 否则的话,就破坏了 ASP. NET MVC 的惯例, 其他的程序员将会花费更多艰辛的时间来理解你的应用程序。 创建动作方法应该注意: 为了将方法作为一个动作公布给全世界, 方法必须满足特定的要求: • 方法必须是公共的。 • 方法不能是静态方法。 • 方法不能使扩展方法。 • 方法不能是构造函数, 访问器, 或者设置器。 • 方法不能拥有开放泛型类型(open generic types) 。 • 方法不能使控制器基类中的方法。 • 方法不能含有 ref 或者 out 参数。 • 阻止公共方法被调用使用[NonAction]特性进行了修饰 [NonAction] public ContentResult Index() { return Content("天¬¨¬涯?浪¤?子Á¨®"); } • 包含在控制器类中的任何公共方法, 都被暴露为控制器动作。 注意这里。 一个控制器动作被暴露给了全世界。任何人都可以通过在 Web 浏览器的地址栏中输入正确的 URL来调用控制器动作。 因此, 在你并不需要方法被调用时, 不要随意地在控制器中创建公共方法。 • 理解视图 视图含有将会发送给浏览器 HTML 标记和内容。 当使用 ASP. NET MVC 应用程序时, 一个视图等同于一个页面。 一般而言, 如果你想为一个控制器动作返回一个视图, 那么你需要在 Views 文件夹下创建一个子文件夹, 这个文件夹与你的控制器同名。 在子文件夹下, 你必须创建一个. aspx 文件, 它的名字与控制器动作相同。 视图应该仅包含与生成用户界面有关的逻辑。 默认情况下, 视图应该和与其相应的控制器动作拥有相同的名称。 视图同样应该被置于一个文件 夹中, 该文件夹与控制器的名称相对应。 <a href="/Home/Create">Add new Task</a>: 这个链接指向到了/Home/Create 路径。 当你点击这个链接, HomeController 的 Create() 动作将会被调用。 Create()方法返回 Create 视图 理解模型 MVC 的模型包含了你应用程序中的所有逻辑, 这些逻辑没有包含在视图或者控制器中。 模型应该包含你的应用程序中的所有业务逻辑和数据库访问逻辑。 例如, 如果你使用 LINQ to SQL 访问数据库, 那么你可以在 Models 文件夹中创建你的 LINQ to SQL 类(你的 dbml 文件) 。 理解 HTML Helpers ASP. NET MVC 框架包含了下面的标准 HTML Helpers 集合(这里没有列全) : • Html. ActionLink() • Html. BeginForm() • Html. CheckBox() • Html. DropDownList() • Html. EndForm() • Html. Hidden() • Html. ListBox() • Html. Password() • Html. RadioButton() • Html. TextArea() • Html. TextBox() Html. BeginForm() Helper 方法用于创建 HTML<form>的开闭标签。注意到 Html. BeginForm() 方法在一个 using 语句内被调用。 using 语句确保了<form>标记在 using 块末尾关闭。 如果你喜欢, 可以不创建 using 块, 你可以调用 Html. EndForm() Helper 方法来关闭<form>标签。 使用对你来说感觉最好的方式来创建<form>的开闭标签。 Html. TextBox() Helper 方法用于在代码清单 1 中呈现 HTML<input>标签。 如果你在你的浏览器中选择“查看源文件” , 那么你会看到代码清单 2 中的 HTML 源代码。 注意到源代码中包含了标准的 HTML 标签。 NOTE: 注意 Html. TextBox() , HTML Helper 之 MVC3 之前使用<%= %>标签来呈现, 而不是<% %>标签。 如果你不包含这个等号, 那么不会有任何东西呈现至浏览器。 MVC3 使用@ ASP. NET MVC框架包含很少一些Helpers 方法。更可能的是,你需要使用自定义HTML Helpers来扩展 MVC 框架。 在这篇教程的剩余部分, 你会学习两个创建自定义 HTML Helpers 的方法。

关注我们

关注微信公众号

您选择了以下内容

页面底部区域 foot.htm