`

学习 ASP.NET MVC (第五回)理论篇

阅读更多

通过 前几篇文章,我们通过ASP.NET MVC创建了一个简单的应用程序,学习了ASP.NET MVC的基本框架和工作流程。但是Demo中很多东西都是VS为我们自动生成的,比如View的html代码等。此文和大家一起学习一下ASP.NET MVC 中的Helper (辅助方法) --> HtmlHelperUrlHelper
何谓Helper,其实就是在View中为了实现一些灵活功能而写的方法组,主要的目的就是实现将界面与逻辑分离。

HtmlHelper

ASP.NET MVC提供了一个HtmlHelper用于生成Html标签和有数据绑定的Html标签。
1.ActionLink
其中最常用的就是Html.ActionLink。
ActionLink中的三个参数分别为:显示的文字,Action ,Controller 。其中Controller可以省略,省略时指向同一Controller下的Action。
---基本应用:

<% = Html.ActionLink( " Hello " , " Index " , " Home " ) %>

在UrlRouting规则为默认规则的情况下,它生成的HTML代码为:<a href="/">Hello</a>
---带有QueryString的写法:

<% = Html.ActionLink( " Hello " , " Index " , " Home " , new { page = 1 }, null ) %>

-------<a href="/?page=1">Hello</a>
如果连接中不涉及到action及controller就没有必要使用ActionLink,而是直接写HTML代码就可以了。<a href="#">Hello</a>
2.Html表单元素
(1) Form:
我们当然可以使用纯的Html代码:
<form action="/home/index" method="post"></form>
但是因为是在HTML的属性中,所以还是难以维护,ASP.NET MVC为我们提供了一个Helper,我们可以通过以下两种方式生成一个Form:

<% using(Html.BeginForm( " index " , " home " ,FormMethod.Post)){ %> 表单内容  
<% } %>

<% Html.BeginForm( " index " , " home " , FormMethod.Post); %> 表单内容  
<% Html.EndForm(); %>

 

(2) 其他html标签:
ASP.NET MVC提供了多种表单元素的Helper。其中包括:TextBox(类似input type=text)、TextArea、DropDownList(select)、CheckBoxHidden、ListBox、 Password、RadionButton。

如果我们想提供一个input type=text 它的name为t1则以下代码:

<% = Html.TextBox( " t1 " ) %>

 

(3) 表单元素绑定
如果我们想要让上文中的t1初始时就有一个值:

<% = Html.TextBox( " t1 " , " Hello " ) %>

如果数据是从数据库中读取,即得到数据是从Action中获取的,那么我们可以在Action中使用ViewData传递。

Action:
ViewData["text"]="Hello";
View:
<% = Html.TextBox( " t1 " ,ViewData[ " text " ]) %>

 


UrlHelper

1.UrlHelper.Action
UrlHelper的Action方法 用于生成一个URL地址:
Controller下Index:<%=Url.Action(“Index”)%> --------index
Controller下Index:<%=Url.Action(“Index”,new{id=1})%> --------index?id=1
UsersController下Index:<%=Url.Action(“Index”,"Users")%> --------/Users/index
UsersController下Index: <%=Url.Action(“Index”,"Users",new{id=1})%> /Users/index?id=1
在View中写Url.Action("Index","Home"),运行后则会生成/Home/Index这个地址。

2.UrlHelper.Encode
这也是UrlHelper的一个方法 使用方法 如<%=Url.Encode("中文")%>,功能与Server.UrlEncode相同。

3.UrlHelper.Content
用于服务器路径转换为绝对路径。如:
<%=Url.Content("~/content/site.css") %>最后的结果为:/content/site.css

分享到:
评论

相关推荐

    Pro ASP.NET MVC 5 (英文pdf+源码)

    Pro ASP.NET MVC 5 APress, 2013 by Adam Free...这是第一本出版的 ASP.NET MVC5 英文版书籍 源码太大, 压缩后约 202M. 依章节分成5个各自独立的压缩包上传. Pro ASP.NET MVC 5 (source code)书附源码Part1( 02_08) ...

    精通ASP.NET MVC5

    ASP.NET MVC 5框架是微软ASP.NET Web平台的新进展。它提供了高生产率的编程模型,结合ASP.NET的全部优势,使代码架构更整洁,可进行测试驱动开发,并使程序有强大的可扩展性。 通过本书你将学到: 获得对ASP.NET MVC...

    ASP.NET MVC 4 Web编程

    第1章:ASP.NET MVC基础 第2章:ASP.NET Web Form开发人员必读 第3章:使用数据 第4章:客户端开发 第5章:Web应用程序架构 第6章:使用AJAX提升网站体验 第7章:ASP.NET Web API 第8章:高级数据 第9章:安全 第10...

    ASP.NET MVC 5高级编程(第5版)

    asp.net MVC5 高级编程,中文版本, PDF格式, 学习MVC相当不错!

    Pro ASP.NET MVC 5 (source code)书附源码Part1( 02_08)

    Pro ASP.NET MVC 5 APress, 2013 by Adam Freeman 这是第一本出版的MVC5英文版书籍, 书籍可以在这里下 http://download.csdn.net/download/zengzhan/7074437 Pro ASP.NET MVC 5 (source code)书附源码Part1( 02_08)...

    《精通Asp.Net MVC 第五版英文版》

    下载后如果有什么问题请及时留言 《精通Asp.Net MVC 第五版英文版》

    ASP.NET MVC5 框架揭秘+源码打包下载

    《ASP.NET MVC 5 框架揭秘》以一个模拟ASP.NET MVC内部运行机制的“迷你版MVC框架”作为开篇,其目的在于将ASP.NET MVC真实架构的“全景”勾勒出来。接下来本书以请求消息在ASP.NET MVC框架内部的流向为主线将相关的...

    Pro ASP.NET MVC 5 (source code)书附源码Part5( 18_27)

    Pro ASP.NET MVC 5 APress, 2013 by Adam Freeman 这是第一本出版的MVC5英文版书籍, 书籍可以在这里下 http://download.csdn.net/download/zengzhan/7074437 源码太大, 压缩后约 202M. 依章节分成5个各自独立的...

    Pro ASP.NET MVC 5 (source code)书附源码Part2( 09_11)

    Pro ASP.NET MVC 5 APress, 2013 by Adam Freeman 这是第一本出版的MVC5英文版书籍, 书籍可以在这里下 http://download.csdn.net/download/zengzhan/7074437 Pro ASP.NET MVC 5 (source code)书附源码Part1( 02_08)...

    ASP.NET MVC 5 微信公众平台整合开发实战(3)

    ASP.NET MVC 5 微信公众平台整合开发实战第三部

    精通 ASP.NET MVC 5 (Adam Freeman) [中文版]高清完整PDF版

    ASP.NET MVC 5框架是微软ASP.NET Web平台的新进展。它提供了高生产率的编程模型,结合ASP.NET的全部优势,促成更整洁的代码架构、测试驱动开发和强大的可扩展性。 本书涵盖ASP.NET MVC 5的所有开发优势技术,包括用...

    ASP.NETMVC5网站开发之美【高清PDF】

    第5章 路由(Routing) 第6章 控制器(Controller) 第7章 异步程序设计 第8章 View:摇曳生姿的美人 第9章 Bootstrap 第10章 诊断及日志处理 第11章 网站安全之道 第12章 身份验证与授权 第13章 ASP.NET Web API 2...

    ASP.NET MVC 5高级编程 第五版.pdf 高清版

    ASP.NET MVC 5高级编程 第五版.pdf 高清版;ASP.NET MVC 5高级编程 第五版.pdf 高清版。

    ASP.NET MVC 3高级编程

    《asp.net mvc 3高级编程》 第1章 入门 1 1.1 asp.net mvc简介 1 1.1.1 asp.net mvc如何适应asp.net 1 1.1.2 mvc模式简介 2 1.1.3 mvc在web框架中的应用 2 1.1.4 asp.net mvc 3的发展历程 3 1.1.5 razor视图...

    精通asp.net mvc 5中文版-part1

    精通asp.net mvc 5中文版,英文名pro asp.net mvc 5 由于上传权限限制,分为两个包上传,需要全部下载后才能解压 这是第一部分,压缩工具winrar 5.4 英文版32位

    精通ASP.NET MVC5.rar

    ASP.NET MVC 5框架是微软ASP.NET Web平台的新进展。它提供了高生产率的编程模型,结合ASP.NET的全部优势,促成更整洁的代码架构、测试驱动开发和强大的可扩展性。 本书涵盖ASP.NET MVC 5的所有开发优势技术,包括用...

    Asp.Net MVC+PostgreSql论坛源码(yjx.in)

    主要使用技术:Microsoft .NET Framework 4.5.2、Asp.Net MVC 5、EntityFramework、PostgreSql。 本论坛也非个人原创,本论坛基于MVCForum二次开发。新增了一些本地化特色以及号称世界上功能最强大的开源数据库...

    ASP.NET MVC 5 编程实战(第3 版)试读版本(只30页)

    深入了解ASP.NET MVC 5的架构和特性,并学习构建在桌面和移动设备上都运行良好的Web应用程序。Web开发专家Dino Esposito将带你全面了解Web框架的模型-视图-控制器(MVC)设计模型,并为你介绍用以完整分离业务逻辑和...

    ASP.NET MVC 5高级编程 第五版

    压缩包里面是PDF文档,ASP.NET MVC 5高级编程 第五版.pdf

Global site tag (gtag.js) - Google Analytics