首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC-Razor中用Hyphen替换}@ space的Url

MVC-Razor中用Hyphen替换}@ space的Url
EN

Stack Overflow用户
提问于 2015-09-15 21:06:32
回答 2查看 1.2K关注 0票数 1

我正在使用ASP.NET MVC Razor C#和属性路由。

在“类别”表单中单击“编辑”。它像下面这样打开Url:

http://localhost:38812/Category/Database%20Design

我正试图像下面这样更改Url

http://localhost:38812/Category/Database-Design

这里的问题是,当我去数据库搜索基于类别的details..it不搜索,因为没有一个类别的名称数据库-设计。它以带空间的数据库设计的形式存在。

是否有任何方法不将Id包括在Url中,这样我们也可以实现以下Url?:

http://localhost:38812/Category/Database-Design

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-16 03:17:38

应该在您的Sanitized表中创建一个额外的列( Category )

如下所示

代码语言:javascript
复制
 ID | Name            | Sanitized
---------------------------------------
  1 | Database Design | database-design
  2 | ABC-DEF_HIJ     | abc-def-hij
  3 | !Hello World!   | hello-world
  4 | happy~~feet     | happy-feet

通过这样做,Url和数据库查询应该使用Sanitized

您不会担心用连字符替换什么,这都是可定制的。

票数 2
EN

Stack Overflow用户

发布于 2015-09-16 05:08:25

我认为你需要做的是解码Url。您可以通过使用

代码语言:javascript
复制
string decodedUrl = Uri.UnescapeDataString(url)

它将替换%20并将其返回到原来的状态。

您可以在这里读到更多关于这个的https://msdn.microsoft.com/en-us/library/system.uri.unescapedatastring(v=vs.110).aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32595639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档