加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.Net MVC – 处理不好的URL参数

发布时间:2020-12-16 00:26:39 所属栏目:asp.Net 来源:网络整理
导读:处理访问者构建自己的URL的最佳方式是什么,并将任何他们喜欢的东西替换为我们期望的ID? 例如: ASP.Net MVC – handling bad URL parameters 但用户可以轻松地替换URL: http://stackoverflow.com/questions/foo 我想到每个Controller Function参数都是一
处理访问者构建自己的URL的最佳方式是什么,并将任何他们喜欢的东西替换为我们期望的ID?

例如:

ASP.Net MVC – handling bad URL parameters

但用户可以轻松地替换URL:

http://stackoverflow.com/questions/foo

我想到每个Controller Function参数都是一个String,并且使用Integer.TryParse(),如果这样通过,那么我有一个ID并且可以继续,否则我可以将用户重定向到未知/未找到或索引视图。

堆栈溢出处理它很好,我也想 – 你怎么做,或者你会建议什么?

解决方法

这是一个像你的路线的例子,对数字有一个限制:
routes.MapRoute(
    "Question","questions/{questionID}",new { controller = "StackOverflow",action = "Question" },new { questionID = @"d+" } //Regex constraint specifying that it must be a number.
);

这里我们设置questionID至少有一个数字。这也将阻止任何包含整数的url,也可以阻止对可空的int的需要。

注意:这不考虑大于Int32(-2147483647 – 2147483647)范围的数字。我将此作为练习,让用户解决。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读