Javascript 无法解析symbol@Url.Action
这应该是个简单的问题,但我不知道为什么会这样 在我的ASP.NETMVC5网站中,我有一个带有网格的简单视图,以及一个调用js函数并向该函数发送一些参数的单元格操作Javascript 无法解析symbol@Url.Action,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,这应该是个简单的问题,但我不知道为什么会这样 在我的ASP.NETMVC5网站中,我有一个带有网格的简单视图,以及一个调用js函数并向该函数发送一些参数的单元格操作 function OnCellClick(param1, param2) { var urlAJAX = @Url.Action("GetJson", "PosicaoEstoque", new { p1 = param1 , p2 =param2}); } 这样,我得到了param1和param2的“无法解析符号
function OnCellClick(param1, param2) {
var urlAJAX = @Url.Action("GetJson", "PosicaoEstoque", new { p1 = param1 , p2 =param2}); }
这样,我得到了param1和param2的“无法解析符号”。
如何解决此问题?不使用
Url。操作如下所示:
var urlAJAX = 'PosicaoEstoque/GetJson?p1=' + param1 + '&p2=' + param2;
不使用Url.Action
如下所示:
var urlAJAX = 'PosicaoEstoque/GetJson?p1=' + param1 + '&p2=' + param2;
您可以使用占位符。使用占位符参数生成url,然后用param替换它们
function OnCellClick(param1, param2) {
var urlAJAX = '@Url.Action("GetJson", "PosicaoEstoque", new { p1 = -1 , p2 = -2})';
urlAJAX = urlAJAX.replace('-1', param1).replace('-2', param2);
}
您可以使用占位符。使用占位符参数生成url,然后用param替换它们
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()
函数
检查参考。您的问题是混合了服务器端和客户端代码。您不能简单地将JavaScript变量放入Url.Action()
,因为它在服务器端运行。您可以做的是将一些伪值作为参数,并对生成的URL调用JavaScript的replace()
函数
检查参考。是,该函数称为“表单客户端”,您正在从服务端分配url。因此变量param1和param2在javascript中不可用。所以最好有一个占位符,并替换它们hi@Satpal,这是一个很好的答案。但是我想知道OP如何在action方法中获得参数p2
。因为它会生成像/PosicaoEstoque/GetJson?p1=aaa&;这样的URL;p2=bbb@Lin,据了解,生成的url将是/PosicaoEstoque/GetJson?p1=aaa&p2=bbb
@Satpal,谢谢。但是我得到了&代码>在这两个参数之间。@Lin,这很奇怪,因为我的回答不影响Url.Action()
如何生成Url是的,该函数从客户端调用,您从服务端分配Url。因此变量param1和param2在javascript中不可用。所以最好有一个占位符,并替换它们hi@Satpal,这是一个很好的答案。但是我想知道OP如何在action方法中获得参数p2
。因为它会生成像/PosicaoEstoque/GetJson?p1=aaa&;这样的URL;p2=bbb@Lin,据了解,生成的url将是/PosicaoEstoque/GetJson?p1=aaa&p2=bbb
@Satpal,谢谢。但是我得到了&这两个参数之间的代码>。@Lin,这很奇怪,因为我的答案并不影响Url.Action()
如何生成urlhi@ggui,我只是好奇,使用@Satpal的答案中的代码,你能在GetJson
方法中得到p2
的值吗?嗨@ggui,我只是好奇,使用@Satpal的答案中的代码,在GetJson
方法中,您真的可以获得p2
的值吗?