如何在执行前检查URL中的变量

时间:2014-12-16 16:51:25

标签: c# asp.net-mvc razor

这可能看起来很奇怪,但这是我正在进行的项目的要求。我有一个MVC视图,提供用于搜索Lucene索引的UI。一旦用户输入要搜索的内容并按下提交按钮,URL就会如下所示:

http://.../IMS/Demographics?searchTerm=64453&searchDefault=True&page=1&pageSize=10&ascending=True

" searchDefault"变量是布尔值,升序变量也是。但是,searchDefault变量在搜索视图上显示复选框。所以,如果我改变" searchDefault = True" to" searchDefault = True%27B",我得到"类型' System.InvalidOperationException'发生在System.Web.Mvc.dll中,但未在用户代码"中处理。调试器指向seachDefault复选框作为问题,因为我试图将字符串推入布尔值。好吧,我在Search方法中为该异常编写了一个Catch,所以我不确定如何在执行URL之前验证或删除错误的字符,并且它会触及控制器搜索方法。我验证并删除Search方法中的特殊字符,但此错误似乎更早发生。

任何关于如何捕捉到这一点的信息将不胜感激。如果这种类型的安全问题有名称,我也想知道这一点。谢谢。

0 个答案:

没有答案