我正在尝试使用以下
生成链接$(this).parent().attr('href', '@Url.Action("Create", "Home"' + '?clientId=' + clientId + '&clientName=' + clientName);
某处我读到我需要将此Url.Action与控制器和操作隔离到变量中,所以我尝试了这个
var a = '@Url.Action("Create", "Home"';
$(this).parent().attr('href', a + '?clientId=' + clientId + '&clientName=' + clientName);
但这仍然无效。 在浏览器中我得到了
答案 0 :(得分:2)
另一种选择是存储具有data-*
属性的网址并访问它们。在视图中,您可以添加以下属性:
data-url='@Url.Action("Create", "Home")'
现在您可以使用以下命令在脚本中访问它:
var base = $(this).data('url');
$(this).parent().attr('href', base + '?clientId='+ clientId +'&clientName=' + clientName);
答案 1 :(得分:1)
您的脚本应位于Razor页面上,以使@Url.Action
帮助程序正常工作。
当你把它放在那里时,这应该有效:
//this line should generate /Home/Create string
var urlNoParam = '@Url.Action("Create", "Home")';
//and here you just add params as you want
$(this).parent().attr('href', urlNoParam + '?clientId=' + clientId + '&clientName=' + clientName);