我已经看到这个在其他示例中工作,但不知道为什么我不能将var值传递给urlAction:
function onCommandInfoClick(e, args) {
var _reservNo = args.row.data[0];
// This works as expected.
alert( _reservNo);
// The _reservNo var is not visible inside the @UrlAction
var url = '@Url.Action("GetContract", "Reservation", new { reservNo = ???? })'
window.location.href = url;
}
我已通过以下方式解决了问题,但不确定这是否是正确的解决方案
function onCommandInfoClick(e, args) {
var _reservNo = args.row.data[0];
var url = '@Url.Action("GetContract", "Reservation", new { reservNo = "selection"})'
window.location.href = url.replace("selection", _reservNo);
答案 0 :(得分:0)
另一个选择是在服务器端生成URL,在那里你应该有reserveNo变量,然后在你的json中返回URL。应该更容易维护,因为如果您重写路由,则不必在客户端代码中进行任何更改。
答案 1 :(得分:0)
您可以执行以下操作 -
var url = '@Url.Action("GetContract", "Reservation", new { reservNo = ' + _reservNo + '})'