您的位置:首页 > 编程语言 > ASP

ASP.NET MVC RC 的一些变化

2009-02-26 01:08 344 查看
当你提交的表单内容中包含HTML标签的时候,会得到下面的错误:





在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));



暂时说这么点吧。

Enjoy!By Q.Lee.lulu.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: