如何在asp-route-id前缀中传递javaScript变量值?

时间:2018-06-15 13:23:15

标签: javascript jquery asp.net-core

我有一个属性为asp-controller和的锚元素 asp-action。我有一个名为 g_id 的javaScript变量,它将调用 getIdFromUrl函数。此函数将检索附加在url末尾的id。

/User/Account/5

例如,此函数将从URL检索 5 的值。我想将此值赋给asp-route-id。但是,我无法这样做。

<a asp-action="ActivityPrice" asp-controller="Activity" asp-route-id = "g_id" class="btn btn-primary" >
Add Activity Price

var g_id = getIdFromURL();

function getIdFromURL() {
    var urlArray = window.location.href.split('/');
    var id = urlArray[urlArray.length - 1];
    return id;
}

3 个答案:

答案 0 :(得分:1)

您可以使用attr()

$('a').attr('asp-route-id', g_id);

答案 1 :(得分:1)

在你的 Javascript 标签中你可以定义下面的函数

function setRouteParameter() {
    var newhref=$("#addActivityPrice").attr('href') + '/' + g_id ;     
    $("#addActivityPrice").attr("href", newhref);        
}

并在点击锚元素时调用它

<a id="addActivityPrice" asp-action="ActivityPrice" asp-controller="Activity" asp-route-id = "g_id" class="btn btn-primary" onclick="setRouteParameter()">
Add Activity Price

答案 2 :(得分:0)

$('a').attr('action', '/Activity/ActivityPrice/' + g_id);