如何在 asp.net MVC 中取消编码 URL



我需要这个地址

localhost:2036/customers?linkTab=#tabs1-css

我的代码是:

 @Url.Action(MVC.Customers.ActionNames.Index, MVC.Customers.Name,
   new
   {    
   linkTab="#tabs1-css"
   })"

但我的代码通用这个地址

本地主机:2036/customers?linkTab=%23tabs1-css

如何在 MVC 中禁用编码 URL?

我认为这是您的解决方案(有关#字符的解释,请参阅@VahidND的答案):

<a href="@Url.Action(MVC.Customers.ActionNames.Index, MVC.Customers.Name)#tabs1-css">MyLink</a>

#是一个保留字符,因此如果不对其进行编码,则无法将其用于其他目的。您可以参考此维基百科文章:

当保留集中的字符("保留字符")具有 特定上下文中的特殊含义("保留目的")和 URI 方案说有必要将该字符用于其他一些 目的,则必须对字符进行百分比编码。

但是如果你想把它用作锚点,你可以试试这个:

@Url.Action(MVC.Customers.ActionNames.Index, MVC.Customers.Name)#tabs1-css

最新更新