我目前正在 VS2010 中开发一个 ASP.NET MVC3 应用程序,但我在使用@Url.Action助手时遇到了一些麻烦。我有一个使用这个助手的 ajax 请求:
var url = '@Url.Action("Action", "Controler", new { a = "a", b = "b" })';
$.post(url).success(function(data) {
...
});
问题是urlafter this 的值是/Controller/Action?a=a&b=b,注意&路由值之间的值。这不起作用,但如果我这样做:
var url = '@Url.Action("Action", "Controler", new { a = "a", b = "b" })'.replace('amp;', '');
它完美地工作!
我的动作是这样的:
public JsonResult Action(string a, string b)
{
...
}
我已经调试了我的应用程序,并且该操作被调用,甚至a是"a",但是b是null。
这是期望的行为Url.Action吗?我不这么认为。请帮助我,我做错了什么?我应该在Url.Action调用中添加另一个参数吗?提前致谢。