2

我需要建立一个这样的网址:/products/myproductdescription/5; 除非产品描述包含“/”,否则它可以工作。我以这种方式建立与剃须刀的链接:

<a href="@Url.Content("/Products/" + @product.Description + "/" + @product.Id)">@product.Description</a>

我认为使用@product.Description 会对描述进行编码,但如果描述中存在“/”,我会得到一个链接。我也尝试过这种方式:

<a href="@Url.Content("/Products/" + @Html.Encode(product.Description) + "/" + @product.Id)">@product.Description</a>

但结果是一样的......有人可以告诉我为什么链接的那部分没有编码?谢谢你。

4

1 回答 1

1

您应该避免在 url 的路径部分使用特殊字符。您可以使用蛞蝓并替换所有危险角色。例如,这是如何在 StackOverflow上使用 url 中的问题标题完成的。在这种情况下,为了能够唯一标识资源,请始终使用 id。该描述只能用于 SEO 目的。

于 2012-05-29T15:27:42.113 回答