如何将Id值传递给MVC应用程序中的window.location.href

时间:2016-08-29 06:53:01

标签: javascript asp.net-mvc

目前我正在研究MVC应用程序,因为我需要将页面呈现给MVC应用程序中的另一个动作,因为我需要将Id参数传递给该Action。

这是我的代码。

var CardCode=$('#CardCode').val();
if (str.substr("successfully")) {
    window.location.href='@Url.Action("EditPartner","MstPartner",new { id = CardCode})';
}
当我将值传递给该id时,在该代码中

,即那里不允许id=CardCode那么如何将CardCode值传递给该动作? 请给出一些建议。

2 个答案:

答案 0 :(得分:1)

您的代码不起作用,因为您无法在其中传递变量。它只适用于值是硬编码的

window.location.href='@Url.Action("EditPartner","MstPartner",new { id = "123"})';

您可以使用Replace方法

var CardCode=$('#CardCode').val();
if (str.substr("successfully")) {
    window.location.href='@Url.Action("EditPartner","MstPartner",new { id = "CC"})'.replace("CC",CardCode);
}

答案 1 :(得分:0)

如果你想在客户端做动态,你应该通过javascript

来做
function replaceUrlParam(url, paramName, paramValue){
    if(paramValue == null)
        paramValue = '';
    var pattern = new RegExp('\\b('+paramName+'=).*?(&|$)')
    if(url.search(pattern)>=0){
        return url.replace(pattern,'$1' + paramValue + '$2');
    }
    return url + (url.indexOf('?')>0 ? '&' : '?') + paramName + '=' + paramValue 
}

var url = '@Url.Action("EditPartner","MstPartner",new { id = CardCode})';
var newUrl = replaceUrlParam(url,"Id","OtherCardCode");