将Angularjs表达式/变量作为路径参数传递给asp.net mvc操作链接

时间:2016-01-24 17:40:40

标签: c# angularjs asp.net-mvc

我们如何将angularjs表达式/ varibale传递给asp.net mvc actionlink?

这是我的asp.net mvc actionlink代码

 @Html.ActionLink("{{row.x}}", "Details", "Info", new { id = "{{row.x}}" }, null)

在第一个参数{{row.x}}中工作正常,因为它显示值但是当作为路由参数传递时,它保留为{{row.x}}并且不会进行评估。如果我删除引号它不会编译

2 个答案:

答案 0 :(得分:6)

Razor代码在服务器上执行。因此,您无法将客户端角度变量作为Html.ActionLink辅助方法的路径值字典参数传递。

您可以做的是使用纯html为链接构建html标记,并根据需要在href值中附加角度数据。您仍然可以使用Url.Action辅助方法为Info操作方法构建正确的相对URL。

<a href="@Url.Action("Info","Details")?id={{row.x}}">{{row.x}}</a>

答案 1 :(得分:2)

您可以使用ng-hrefUrl.Content,如下所示

<a ng-href="@Url.Content("~/Info/Details/")?id={{row.x}}">{{row.x}}</a>