目前我正在研究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值传递给该动作?
请给出一些建议。
答案 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");