ASP.NET MVC RC 的一些变化

转帖|其它|编辑:郝浩|2009-02-26 10:26:39.000|阅读 474 次

概述:在ASP.NET MVC的RC版中,你不可以通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

当你提交的表单内容中包含HTML标签的时候,会得到下面的错误:

image

在ASP.NET MVC的RC版中,你可以通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证。因为在ASP.NET MVC RC版的框架中默认添加这个检测,如果你要去掉这个验证,你需要添加[ValidateInput(false)] 特性到指定的Action或者Controller中,例如下面的代码:

[ValidateInput(false)]
[HandleError]
public class AdminController : BaseController

IValueProvider

RC版中取消了IValueProvider这个接口(真搞不懂为啥取消了),我们原来Beta版的使用到了IValueProvider这个接口的代码可以按下面的方式修改:

public static IDictionary<string, ValueProviderResult> GetValueProvider(ControllerContext cContext)
{
    context = cContext;
    //注意这里用的是Controller.ValueProvider,以使用系统的默认的form提交过来的值
    IDictionary<string, ValueProviderResult> dic = context.Controller.ValueProvider;
    dic["Tags"] = GetTagsValue();
    dic["Categories"] = GetCategoriesValue();
    return dic;
}

 

在Controller中这样调用:

UpdateModel(post, new[] { "Title", "Content", "Slug", "Tags", "Categories" },
    PostValueProvider.GetValueProvider(ControllerContext));

 

暂时说这么点吧。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP