快速业务通道

Asp.net Mvc Codeplex Preview 5 第一篇 Helper的新特性

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21

Asp.net Mvc Codeplex Preview 5是Asp.net Mvc的一个过渡版本,它包含了一些新特性。

Pv5对于Helper的更改基本集中在HtmlHelper。对于简单的使用,我基本一带而过,如果朋友们有什么不明白,可以留言。

AttributeEncode提供了HtmlAttributeEncode功能

使用方法
<%=Html.AttributeEncode("<script src=\"j.js\"></script><div background=''javascript:alert('''');''/>") %>
编码结果
&lt;script src=&quot;j.js&quot;>&lt;/script>&lt;div background=''javascript:alert('''');''/>

方法仅将引号 (")、“and”符号 (&) 和左尖括号 (<) 转换为等效的字符实体。该方法比Encode/HtmlEncode方法快得多。

Encode 提供了HTMLENCODE功能

使用方法
<%=Html.Encode("<script src=\"j.js\"></script><div background=''javascript:alert('''');''/>")%>
编码结果
&lt;script src=&quot;j.js&quot;&gt;&lt;/script&gt;&lt;div background=''javascript:alert('''');''/&gt;

RenderUserControl 改为 RenderPartial,并提供了更好的模板寻找方式

<%=Html.RenderUserControl("/Views/Shared/Menu.ascx") %>
改为
<% Html.RenderPartial("Menu");%>
注意,原来的<%=%>改了为一句语言,有分号结束,与RenderAction统一了

验证控件

起到了服务器端验证作用,

效果如下:

Asp.net Mvc Codeplex Preview 5 第一篇 Helper的新特性

使用方法如下:

Model:

public class MyModel
{
public int ID { get; set; }
public string Name { get; set; }
}

View:

<h3>验证控件 </h3>
<%using (Html.Form("home", "save", FormMethod.Post)) {%>
<%=Html.TextBox("ID")%>
<%=Html.ValidationMessage("ID",new {style="color:green"})%>
<%=Html.TextBox("Name")%>
<%=Html.ValidationMessage("Name")%>
<%=Html.SubmitButton() %>
<%
}%>
<div style="color: Red">
<%=Html.ValidationSummary() %>
</div>

Controller:

public class HomeController : Controller {
public ActionResult Index() {//显示表单的页
ViewData["Title"] = "Home Page";
ViewData["Message"] = "Welcome to ASP.NET MVC!";
return View();
}
[AcceptVerbs("POST")]
public ActionResult Save(int? ID, string Name)
{//处理表单的页
if(ID==null)
ViewData.ModelState.AddModelError("ID", ID.ToString(), "ID是必添项!");
if (string.IsNullOrEmpty(Name))
ViewData.ModelState.AddModelError("Name", Name, "Name是必添项!");
if (ViewData.ModelState.IsValid)//验证成功后做的操作
return RedirectToAction("Index");
return View("Index");//else
}

public ActionResult About() {
return View();
}
}

这就是PV5为我们提供了简单的验证功能了。

AntiForgeryToken

这是一个验证提交页的东西,类似ViewState

先在提交页的表单中写

<%=Html.AntiForgeryToken() %>

生成一个类似

<input name="__MVC_AntiForgeryToken

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号