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

简介: 下载:http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=16775   Asp.net Mvc Codeplex Preview 5是Asp.net Mvc的一个过渡版本,它包含了一些新特性。

下载:http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=16775

 

Asp.net Mvc Codeplex Preview 5Asp.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统一了

验证控件

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

效果如下:

 

使用方法如下:

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"  type ="hidden"  value ="FaSCzN4P+6Hg977mdOX4z9pCKOy4vlP6whi0RGD+2L9mbTNGGx4GmN36sE4klJZf"   />

 的隐藏字段。

 拿刚才的Action为例:

        [ValidateAntiForgeryToken]
        
public  ActionResult Save( int ?  ID,  string  Name)
       

 DropDownList新加了默认项

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

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

 

目录
打赏
0
0
0
0
1
分享
相关文章
.NET技术的强大功能:.NET技术的基础特性、在现代开发中的应用、以及它如何助力未来的软件开发。
.NET技术是软件开发领域的核心支柱,以其强大功能、灵活性及安全性广受认可。本文分三部分解析:基础特性如多语言支持、统一运行时环境;现代应用如企业级与Web开发、移动应用、云服务及游戏开发;以及未来趋势如性能优化、容器化、AI集成等,展望.NET在不断变化的技术环境中持续发展与创新。
176 4
.NET 技术凭借其独特的优势和特性,为开发者们提供了一种高效、可靠且富有创造力的开发体验
本文深入探讨了.NET技术的独特优势及其在多个领域的应用,包括企业级应用、Web应用、桌面应用、移动应用和游戏开发。通过强大的工具集、高效的代码管理、跨平台支持及稳定的性能,.NET为开发者提供了高效、可靠的开发体验,并面对技术更新和竞争压力,不断创新发展。
148 7
.NET 技术凭借高效开发环境、强大框架支持及跨平台特性,在软件开发中占据重要地位
.NET 技术凭借高效开发环境、强大框架支持及跨平台特性,在软件开发中占据重要地位。从企业应用到电子商务,再到移动开发,.NET 均展现出卓越性能,助力开发者提升效率与项目质量,推动行业持续发展。
63 4
|
5月前
|
C#语言新特性深度剖析:提升你的.NET开发效率
【10月更文挑战第15天】C#语言凭借其强大的功能和易用性深受开发者喜爱。随着.NET平台的演进,C#不断引入新特性,如C# 7.0的模式匹配和C# 8.0的异步流,显著提升了开发效率和代码可维护性。本文将深入探讨这些新特性,助力开发者在.NET开发中更高效地利用它们。
61 1
.Net特性Attribute的高级使用
【10月更文挑战第14天】在.NET中,特性(Attribute)是一种强大的机制,用于在代码中添加元数据。本文介绍了特性的高级用法,包括自定义特性、通过反射读取特性、条件编译与特性结合、多个特性应用以及特性继承。通过示例展示了如何创建自定义特性类、应用自定义特性,并通过反射获取特性信息。此外,还介绍了如何利用条件编译符号实现不同版本的代码控制,以及如何在一个代码元素上应用多个特性。最后,探讨了如何通过`AttributeUsage`控制特性的继承行为。
114 1
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
83 7
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
122 0
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
87 0
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等