javascript - 使用 jQuery 更改链接的路由值

标签 javascript jquery asp.net-mvc razor

如果有任何帮助,我将不胜感激。

我每次都尝试使用 Kendo Grid change() 事件更改链接 href:

 function ContractsGrid_onChange(e) {
    var selected = this.select()[0],
        item = this.dataItem(selected);       

    $('#createOnBase').attr('href', function () {

        var createLink = document.getElementById("createOnBase");
        var route = 'http://' + createLink.hostname + createLink.pathname + "?contractID =" + item.ID; 

        return route;

    });
  }

 @Ajax.ActionLink("Create", "CreateOnBase", 
                  new { contractID = "_contractID_" }, 
                  new AjaxOptions() {... }, 
                  new { id="createOnBase" })

我不确定当前的方法,因为我有不同的主机名(带有端口或服务器域的本地主机)

最好的方法是:

var route = "@Url.Action('CreateOnBase', new { contractID = ??})";

但我不能在 razor 中使用 JS 变量 (item.ID)。

此外,this.href.replace("_contractID_", item.ID) 将无法进行多项更改。

你能帮我解决另一个问题吗?

非常感谢!

最佳答案

是的,这很简单,我找到了一个方法:

  $('#createOnBase').attr('href', function () {

        return "@Url.Action("CreateOnBase")"+ "/?contractID="  +item.ID;

    });

也许这对某人有帮助。

关于javascript - 使用 jQuery 更改链接的路由值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26970713/

相关文章:

jQuery Ajax - 回调

javascript - 工具提示在 Safari/iPad 上无法按预期工作

javascript - 如何创建动态分页

c# - 当区域性可变时,格式化本地化日期而不显示年份

JavaScript 正则表达式 : replace more than one forward slashes with only one slash

javascript - ng-repeat 带有基于 $scope 列表的过滤器

javascript - 将第二个参数传递给自动采用第一个参数的函数

Javascript onclick按钮更改

javascript - 如何使用 jquery 从 JSON 附加嵌套 li

jquery - Materialise slider 在 asp.net mvc 中不起作用