失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 艾伟_转载:学习 ASP.NET MVC (第五回)理论篇

艾伟_转载:学习 ASP.NET MVC (第五回)理论篇

时间:2021-07-13 16:46:40

相关推荐

艾伟_转载:学习 ASP.NET MVC (第五回)理论篇

本系列文章导航

学习 MVC (第一回)理论篇

学习 MVC (第二回)实战篇

学习 MVC (第三回)实战篇

学习 MVC (第四回)实战篇

学习 MVC (第五回)理论篇

通过前几篇文章,我们通过 MVC创建了一个简单的应用程序,学习了 MVC的基本框架和工作流程。但是Demo中很多东西都是VS为我们自动生成的,比如View的html代码等。此文和大家一起学习一下 MVC 中的Helper (辅助方法) -->HtmlHelperUrlHelper

何谓Helper,其实就是在View中为了实现一些灵活功能而写的方法组,主要的目的就是实现将界面与逻辑分离。

HtmlHelper

MVC提供了一个HtmlHelper用于生成Html标签和有数据绑定的Html标签。

1.ActionLink

其中最常用的就是Html.ActionLink。

ActionLink中的三个参数分别为:显示的文字,Action ,Controller 。其中Controller可以省略,省略时指向同一Controller下的Action。

---基本应用:

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

在UrlRouting规则为默认规则的情况下,它生成的HTML代码为:Hello

---带有QueryString的写法:

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

-------Hello

如果连接中不涉及到action及controller就没有必要使用ActionLink,而是直接写HTML代码就可以了。Hello

2.Html表单元素

(1) Form:

我们当然可以使用纯的Html代码:

但是因为是在HTML的属性中,所以还是难以维护, MVC为我们提供了一个Helper,我们可以通过以下两种方式生成一个Form:

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

<%}%>

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

<%Html.EndForm();%>

(2) 其他html标签:

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

如果觉得《艾伟_转载:学习 ASP.NET MVC (第五回)理论篇》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。