【问题标题】:How to send this Razor data to a javascript function?如何将此 Razor 数据发送到 javascript 函数?
【发布时间】:2013-09-26 12:07:59
【问题描述】:

我有以下代码:

foreach (var interest in Model.Interests)
    {
    <div>
        <span>@interest.SubjectName</span>
        @if (interest.Description.Length > 2)
        {
            <a data-bind="click(DATA)" href="#" title="View Details">details</a>
        }
    </div>

    }

我使用 Razor 是因为我需要允许没有 javascript 的用户对该站点具有只读访问权限,因此此处不能使用敲除/JS 循环。

在这一行:

<a data-bind="click(DATA)" href="#" title="View Details">details</a>

我想获取当前的interest(剃须刀对象)并将其发送到click 函数。我只是不知道语法。

如何做到这一点?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 razor knockout.js


    【解决方案1】:

    取决于您要传递给函数的对象的表示形式。如果 JSON 就足够了,试试这个:

    <a data-bind='@String.Format("click({0})", Newtonsoft.Json.JsonConvert.SerializeObject(interest))'
       href="#" title="View Details">details</a>
    

    然后在您的click 函数中,您可以像这样获取对象:

    function click(data) {
        var interest = JSON.parse(data);
    }
    

    【讨论】:

      猜你喜欢
      • 2011-06-18
      • 2018-01-15
      • 1970-01-01
      • 1970-01-01
      • 2021-08-23
      • 2018-04-04
      • 2019-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多