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

标签 c# angularjs asp.net-mvc

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

这是我的 asp.net mvc Action 链接代码

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

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

最佳答案

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

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

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

关于c# - 将 Angularjs 表达式/变量作为路由参数传递给 asp.net mvc 操作链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34979126/

相关文章:

c# - Orchard 是适合该项目的 CMS 吗?

c# - SQL CE native 异常0xc0000005

c# - 除 "www"之外的任何字符串的正则表达式? (子域)

c# - 在 C# 中单击按钮后,如何跟踪包裹(澳大利亚邮政)?

javascript - Angularjs jquery 状态之间的绑定(bind)

asp.net - 如何防止 ?Area= 添加到生成的 URL 中

asp.net - 使用 Window 身份验证时 User.Identity.Name 为空

c# - 如何关闭窗口的 WS_CAPTION 样式(使用 user32.dll)?

angularjs - 数字过滤器将数字过滤为两位小数,但不会以这种方式显示

javascript - 如何切换浏览器事件目标