无法解析符号@Url.操作



应该是一个简单的问题,但我不知道为什么会这样。

在我的 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;

最新更新