我们如何将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}}并且不会进行评估。如果我删除引号它不会编译
答案 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-href
和Url.Content
,如下所示
<a ng-href="@Url.Content("~/Info/Details/")?id={{row.x}}">{{row.x}}</a>