0

У меня есть следующий код:Как отправить данные Razor в функцию javascript?

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> 

    } 

Я использую бритву, потому что мне нужно, чтобы позволить пользователям без JavaScript, чтобы иметь доступ к сайту только для чтения, так что с помощью нокаута/JS цикла здесь не вариант.

В этой строке:

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

Я хотел бы взять текущий interest (объект бритвы) и отправить его в функцию click. Я просто не знаю синтаксиса.

Как это можно достичь?

ответ

0

Зависит от того, какое представление объекта вы хотите передать своей функции. Если 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); 
} 
Смежные вопросы