【发布时间】:2014-04-11 02:53:23
【问题描述】:
我想创建一个 HttpPost 控制器方法,它接受一个可能包含空格或单引号的字符串。我现在的代码如下所示:
[HttpPost]
[Route("ValidateExpression")]
public bool ValidateExpression([FromBody] string testExpression )
{
// ...
}
我通过 JS (Angular) 发布到它,例如:
$http.post(myRootUrl +'ValidateExpression', "'token1' || 'token2'");
我可以浏览 JS 并看到测试表达式是我所期望的,并且它在传出帖子的正文中看起来也很好(如 Fiddler 和 Firebug 中所见)。但是当我在服务器端的 ValidateExpression 的第一行断点时,testExpression 已经被截断到第一个空格,并且去掉了引号,所以我收到的是token1。
如何避免这种不必要的转变?
我想我可以创建一个模型来包装单个字符串,并将我的字符串作为字段值发送到与模型匹配的 JSON 对象中......或者我可以对字符串进行一些转义,但第一个看起来很难看/不必要的,第二个似乎我会试图破解我不太了解的行为。
【问题讨论】:
标签: asp.net asp.net-mvc asp.net-web-api asp.net-mvc-5