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

asp.net-mvc – 我应该在数据库中的URL中存储空格吗?如果是这样

发布时间:2020-12-16 03:20:45 所属栏目:asp.Net 来源:网络整理
导读:在我的博客中,我将URI存储在实体上以允许它们被定制(和友好).最初,它们可以包含空格(例如“/tags/ASP.NET MVC”),但W3C验证表明空格无效. System.Uri类占用空格,似乎按照我想要的方式对它们进行编码(例如/tags/ASP.NET MVC成为/tags/ASP.NET MVC),但我不想创
在我的博客中,我将URI存储在实体上以允许它们被定制(和友好).最初,它们可以包含空格(例如“/tags/ASP.NET MVC”),但W3C验证表明空格无效.

System.Uri类占用空格,似乎按照我想要的方式对它们进行编码(例如/tags/ASP.NET MVC成为/tags/ASP.NET MVC),但我不想创建一个Uri只是为了抛出它走了,这感觉很脏!

注意:Html.Encode,Html.AttributeEncode和Url.Encode都不会将“/tags/ASP.NET MVC”编码为“/tags/ASP.NET MVC”.

编辑:我编辑了DataType部分,因为事实证明DataType没有直接提供任何验证,并且没有内置的URI验证.我在dataannotationsextensions.org找到了一些额外的验证器,但它只支持绝对URI,它看起来像空格我也有效.

解决方法

似乎唯一明智的做法是不允许URL中的空格.支持正确编码它们似乎在.NET中不稳定:(

当我自动生成空格时,我会用短划线替换空格,并验证它们只包含某些字符(字母数字,点,短划线,斜线).

我认为使用它们的最佳方式是存储在DB中,因为空间是“不安全的”,然后以一种通过.NET中的W3C验证器的方式编码它们似乎并不重要.

(编辑:李大同)

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

    推荐文章
      热点阅读