我的操作采用基于用户名的字符串 id 参数,该用户名可以包含需要编码的字符,例如“user?1”
如果我ActionLink()
用来生成链接,传递没有编码的字符串,它会生成一个像这样的链接:http:\\localhost\controller\action\user?1
,并且操作将“user”作为id传递。
如果我UrlEncode()
在将它传递给之前的字符串ActionLink
,那么生成的链接是:http:\\localhost\controller\action\user%253f1
因为 ActionLink 将为您编码 '%' 字符。除了这看起来丑陋之外,它还会在访问我尚未找到原因的链接时生成 HTTP 错误 400 - 错误请求。
有什么方法可以生成如下网址:http:\\localhost\controller\action\user%3f1
?