点击这里给我发消息 点击这里给我发消息

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

添加时间:2010-1-5
    相关阅读: ASP ASP.NET 模板 HTML VC

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

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

  AttributeEncode提供了HtmlAttributeEncode功能

  使用方法

  <%=Html.AttributeEncode("<scriptsrc="j.js"></script><divbackground='javascript:alert('');'/>")%>

  编码结果

  &lt;scriptsrc=&quot;j.js&quot;>&lt;/script>&lt;divbackground='javascript:alert('');'/>

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

  Encode 提供了HTMLENCODE功能

  使用方法

  <%=Html.Encode("<scriptsrc="j.js"></script><divbackground='javascript:alert('');'/>")%>

  编码结果

  &lt;scriptsrc=&quot;j.js&quot;&gt;&lt;/script&gt;&lt;divbackground='javascript:alert('');'/&gt;

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

  <%=Html.RenderUserControl("/Views/Shared/Menu.ascx")%>

  改为

  <%Html.RenderPartial("Menu");%>

  注意,原来的<%=%>改了为一句语言,有分号结束,与RenderAction统一了

  验证控件

  起到了服务器端验证作用
效果如下:

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

  使用方法如下:

  Model:

  publicclassMyModel
  {
    publicintID{get;set;}
    publicstringName{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()%>
  <%
    }%>
  <divstyle="color:Red">
    <%=Html.ValidationSummary()%>
  </div>

  Controller:

publicclassHomeController:Controller{
    publicActionResultIndex(){//显示表单的页
      ViewData["Title"]="HomePage";
      ViewData["Message"]="WelcometoASP.NETMVC!";
      returnView();
    }
    [AcceptVerbs("POST")]
    publicActionResultSave(int?ID,stringName)
    {//处理表单的页
      if(ID==null)
      ViewData.ModelState.AddModelError("ID",ID.ToString(),"ID是必添项!");
      if(string.IsNullOrEmpty(Name))
        ViewData.ModelState.AddModelError("Name",Name,"Name是必添项!");
      if(ViewData.ModelState.IsValid)//验证成功后做的操作
        returnRedirectToAction("Index");
      returnView("Index");//else
    }
    publicActionResultAbout(){
      returnView();
    }
  }

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

  AntiForgeryToken

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

  先在提交页的表单中写

  <%=Html.AntiForgeryToken() %>

  生成一个类似

  <inputname="__MVC_AntiForgeryToken"type="hidden"value="FaSCzN4P+6Hg977mdOX4z9pCKOy4vlP6whi0RGD+2L9mbTNGGx4GmN36sE4klJZf"/>

  的隐藏字段。

  拿刚才的Action为例:

  [ValidateAntiForgeryToken]

  publicActionResultSave(int?ID,stringName)

  DropDownList新加了默认项

  要 <%=Html.DropDownList("请选择","CityID", new { @class = "select" })%>

  如果不需要默认项留空字符串即可

本文作者:
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册