【问题标题】:Pass Angularjs expression/variable to asp.net mvc action link as Route Parameter将 Angularjs 表达式/变量作为路由参数传递给 asp.net mvc 操作链接
【发布时间】:2016-01-24 17:40:40
【问题描述】:

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

这是我的 asp.net mvc actionlink 代码

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

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

【问题讨论】:

    标签: c# angularjs asp.net-mvc


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      你可以使用ng-hrefUrl.Content如下

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

      【讨论】:

        猜你喜欢
        • 2017-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-14
        • 2011-07-25
        • 1970-01-01
        • 2016-09-25
        相关资源
        最近更新 更多