将带有"+"的字符串值发布到操作会将值替换为空格

RPM*_*984 2 .net c# asp.net-mvc form-post asp.net-mvc-4

我已经对表单值的操作执行了HTTP POST:

名称= 123 + 456

但在我的行动中,它通过以下方式实现:

123 456

因此模型绑定器用空格替换"+".

[HttpPost]
public JsonResult MyAction(string name)
{
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我是否必须创建自定义模型绑定器?

编辑:

这是在jquery中发布如下:

$.ajax({
...
data: "name=" + $('#signin-username').val()
...
});
Run Code Online (Sandbox Code Playgroud)

我应该使用JSON.stringify或类似的东西吗?或者我必须手动编码?

p.s*_*w.g 6

+角色是怎样的空间通常在URL的编码.尝试编码+:

name=123%2B456
Run Code Online (Sandbox Code Playgroud)

在您的jQuery中,使用以下encodeURIComponent方法:

$.ajax({
    ...
    data: "name=" + encodeURIComponent($('#signin-username').val())
    ...
});
Run Code Online (Sandbox Code Playgroud)