我有以下代码:
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的用户拥有该网站的只读权限,所以在这里使用knockout / JS循环不是一个选项。
在这一行:
<a data-bind="click(DATA)" href="#" title="View Details">details</a>
我想获取当前interest
(剃刀对象)并将其发送到click
函数。我只是不知道语法。
如何实现这一目标?
答案 0 :(得分: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);
}