Asp.net mvc 当ID以“开始”时,将ID传递给URL/&引用;

Asp.net mvc 当ID以“开始”时,将ID传递给URL/&引用;,asp.net-mvc,asp.net-mvc-5,Asp.net Mvc,Asp.net Mvc 5,例如,我们想要编辑一个人,他的URL如下 person/id 但是如果该ID的值类似于“/34555P3”,那么它应该是URL编码的: person/%2F34555P3 由于路由/操作中的id类型显然需要是字符串,因此在确定其值时,框架将自动对其进行URL解码。在大多数情况下,当您在Html.ActionLink()或URL.Action()中将其用作路由值时,框架将自动为您对其进行URL编码。手动使用该值的任何地方都可能需要手动对其进行编码。然后应使用URL编码: person/%2F

例如,我们想要编辑一个人,他的URL如下

 person/id

但是如果该ID的值类似于“/34555P3”

,那么它应该是URL编码的:

person/%2F34555P3

由于路由/操作中的
id
类型显然需要是
字符串
,因此在确定其值时,框架将自动对其进行URL解码。在大多数情况下,当您在
Html.ActionLink()
URL.Action()
中将其用作路由值时,框架将自动为您对其进行URL编码。手动使用该值的任何地方都可能需要手动对其进行编码。

然后应使用URL编码:

person/%2F34555P3

由于路由/操作中的
id
类型显然需要是
字符串
,因此在确定其值时,框架将自动对其进行URL解码。在大多数情况下,当您在
Html.ActionLink()
URL.Action()
中将其用作路由值时,框架将自动为您对其进行URL编码。手动使用该值的任何地方都可能需要手动对其进行编码。

然后应使用URL编码:

person/%2F34555P3

由于路由/操作中的
id
类型显然需要是
字符串
,因此在确定其值时,框架将自动对其进行URL解码。在大多数情况下,当您在
Html.ActionLink()
URL.Action()
中将其用作路由值时,框架将自动为您对其进行URL编码。手动使用该值的任何地方都可能需要手动对其进行编码。

然后应使用URL编码:

person/%2F34555P3

由于路由/操作中的
id
类型显然需要是
字符串
,因此在确定其值时,框架将自动对其进行URL解码。在大多数情况下,当您在
Html.ActionLink()
URL.Action()
中将其用作路由值时,框架将自动为您对其进行URL编码。无论您在何处手动使用该值,都可能需要手动对其进行编码。

可能重复的可能重复的可能重复的可能重复的可能重复的即使我们使用了属性路由,它仍然应该足够智能,可以对其进行URL编码?@DevWannaBe:应该,是的。确定路由的机制与编码/解码URL值的机制是分开的。如果您手动创建URL而不进行编码,则只会中断路由。即使我们使用了属性路由,它仍然应该足够智能,可以对其进行URL编码?@DevWannaBe:应该,是的。确定路由的机制与编码/解码URL值的机制是分开的。如果您手动创建URL而不进行编码,则只会中断路由。即使我们使用了属性路由,它仍然应该足够智能,可以对其进行URL编码?@DevWannaBe:应该,是的。确定路由的机制与编码/解码URL值的机制是分开的。如果您手动创建URL而不进行编码,则只会中断路由。即使我们使用了属性路由,它仍然应该足够智能,可以对其进行URL编码?@DevWannaBe:应该,是的。确定路由的机制与编码/解码URL值的机制是分开的。只有在不编码的情况下手动构建URL,它才会中断路由。