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


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统一了

  验证控件

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

  使用方法如下:

  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" })%>

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

本文作者:



相关阅读:
Linux命令free的输出含义
控制数据表中的字段权限及单元格权限
javaScript同意等待代码实现心得
JScript中值类型的封箱与拆箱
使用MaxMind 根据IP地址对访问者定位
在unix上让apache支持asp
成功做好网络管理员IIS使用十大原则
CSS3特性:CSS3 target伪类
c# Random快速连续产生相同随机数的解决方案
oracle多条件查询分页存储过程
php utf-8转unicode的函数
模板引擎正则表达式调试小技巧
Can’t open file:'[Table]mytable.MYI'
Oracle 10g手工创建数据库个人经验
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 2017大一第一学期期末总结 梦想作文500字 实践“三个代表” 创新党建工作调研报告 此生若梦匆匆,容不得我再回首 找夏天——戴维澄 网络创业的必胜攻略 做快乐自己 花儿选美大赛 急匆匆 国庆节有趣的一件事 我最想说的一句话作文500字 静若安好 送给朋友的中秋祝福短信 六一儿童节宣传标语|六一儿童节宣传标语作文素材 无题(情感 。外一首) 小勇士——在抗击非典的日子里作文600字 等风吹过 相爱本是陪伴,宠爱何需多言 读《杨红樱童话》有感700字 写给曾经我爱的你 反腐倡廉心得体会-大力抓好警示教育 我的有趣发现300字 提琴仙子之龙凤五晶石(七) 我心中的奥运作文600字 小学六年级作文550字:聪明的八哥 绿色的定义1500字 菜市场(旧作) 喝喜洒作文800字 夏日历险读后感300字 在全市组织系统“讲党性、重品行、作表率,树组工干部新形象”学习实践活动视频会议上 我的本领400字 关于爱情的英文伤感语句 Take away love, and our earth is a to 【精品】《三个小伙伴》教学反思 且听风吟4 名人名言关于心态语录 过期的信用 驴子与小狗100字 校团委工作总结 某年度述职报告(法院副院长) 从事外贸工作三年的自我介绍 青春男女生(连载3)作文300字 传递幸福作文 人生最美的抵达 观《爱的钟声》有感 我爱绚丽灿烂的秋天350字 飘絮,花开,花落。。。。 开展第25个爱国卫生月活动实施方案 水政水资源科述职报告 帮家人做家务的作文 春天的翅膀_春天作文

Copyright © 2016 phpStudy |