应该是一个简单的问题,但我不知道为什么会这样。
在我的 ASP.NET MVC 5 网站中,我有一个带有网格的简单视图,以及一个调用 js 函数的单元格操作,该函数向该函数发送一些参数。
function OnCellClick(param1, param2) {
var urlAJAX = @Url.Action("GetJson", "PosicaoEstoque", new { p1 = param1 , p2 =param2}); }
所以,像这样,我得到了参数 1 和参数 2 的"无法解析符号"。我该如何解决?
您可以使用占位符。使用占位符参数生成 url,然后用参数替换它们
function OnCellClick(param1, param2) {
var urlAJAX = '@Url.Action("GetJson", "PosicaoEstoque", new { p1 = -1 , p2 = -2})';
urlAJAX = urlAJAX.replace('-1', param1).replace('-2', param2);
}
您的问题是您混合了服务器端和客户端代码。你不能简单地把JavaScript变量放在Url.Action()
,因为它运行在服务器端。你可以做的是将一些虚拟值作为参数,并在生成的URL上调用JavaScript的replace()
函数。
检查此内容以供参考。
不使用如下所示
的Url.Action
:
var urlAJAX = 'PosicaoEstoque/GetJson?p1=' + param1 + '&p2=' + param2;