如何防止“hello + world”在mvc动作中转换为“hello world”

时间:2012-03-01 14:28:43

标签: asp.net-mvc asp.net-mvc-3

在我的网址中,我有“?msg = hello + world”,在我的行动中,它将值转换为“hello world”

public ActionResult test(string msg) { 
   // msg has a value of "hello world", even tho "hello+world" was passed in
}

我怎样才能让我的mvc动作按原样使用?

感谢。

3 个答案:

答案 0 :(得分:1)

网址中的+表示空格...您需要在创建链接时对其进行urlencode。

它应该成为?msg=hello%2Bworld

答案 1 :(得分:1)

绝不是专家,但我认为您需要将其作为网址编码字符传递,因为使用“+”代替空格。

+ = %2B

答案 2 :(得分:1)

如果您希望字符串“按原样”发送,请对其进行编码:

var encoded = HttpUtility.UrlEncode("hello+world");//hello%2bworld
相关问题