如何在JavaScript中获取路由参数?

时间:2013-11-30 16:40:47

标签: c# javascript jquery asp.net url-rewriting

我有一个启用了URL重写的ASP.NET网站。我知道如何使用C#获取路由参数:

Page.RouteData.Values["id"] as string;

但我不知道如何从javascript中获取它?以下是我重写的链接格式:

  

http://www.domain.com/topic/ {ID} / {TITLE}

我想使用JavaScript获取此{id}字段。请帮忙!

更新

我有这个获取请求参数的代码。

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

如何修改这个以获取路由参数?

2 个答案:

答案 0 :(得分:5)

function getValueAtIndex(index){
    var str = "http://www.sample.com/234/Fiddle/test"; //window.location.href; 
    return str.split("/")[index];
}
console.log(getValueAtIndex(3));

答案 1 :(得分:0)

尝试以下操作:

const routeName = getRouteValueAt(0); // questions
const routeId = getRouteValueAt(1); // 20302776

用法

{{1}}