Dan*_*eny 5 asp.net-mvc w3c-validation data-annotations razor
在我的博客中,我将URI存储在实体上以允许它们被定制(和友好).最初,它们可以包含空格(例如"/tags/ASP.NET MVC"),但W3C验证表明空格无效.
这个System.Uri
类需要空格,并且似乎按照我想要的方式对它们进行编码(例如/tags/ASP.NET MVC
变成/tags/ASP.NET%20MVC
),但是我不想创建一个Uri
只是扔掉它,这感觉很脏!
注意:没有Html.Encode
,Html.AttributeEncode
并且Url.Encode
将编码"/tags/ASP.NET MVC"
为"/tags/ASP.NET%20MVC"
.
编辑:我编辑了DataType
我的问题部分,因为事实证明DataType没有直接提供任何验证,并且没有内置的URI验证.我在dataannotationsextensions.org上找到了一些额外的验证器,但它只支持绝对URI,它看起来像空格我也有效.
似乎唯一明智的做法是不允许 URL 中包含空格。在 .NET 中,对它们正确编码的支持似乎很不稳定:(
当我自动生成它们时,我将用破折号替换空格,并验证它们仅包含某些字符(字母数字、点、破折号、斜杠)。
我认为使用它们的最佳方法是将 %20 存储在数据库中,因为该空间是“不安全的”,并且以能够通过 .NET 中的 W3C 验证器的方式对它们进行编码似乎并不简单。
归档时间: |
|
查看次数: |
1670 次 |
最近记录: |