伙计,我从来没有真正学习过所有可以在 ASP.NET 中使用的嵌入式代码块和东西。我想要做的是以下几点:
- 我有中继器
- 它呈现一个表格
- 在每一行中,我需要添加一个
data-bind
包含一些文本和行索引的属性(是的,用于 Knockout)。
更具体地说,我想渲染:
<table>
<tr data-bind="with:myItems()[0]">
...
</tr>
<tr data-bind="with:myItems()[1]">
...
</tr>
<tr data-bind="with:myItems()[2]">
...
</tr>
</table>
我试过了:
data-bind="<%# String.Format("myItems()[{0}]", Container.ItemIndex) %>"
但这不起作用(data-bind="<%# Container.ItemIndex %>
但是会。所以我试图将代码与数据绑定项中的信息结合起来。
我知道 Knockout 中有一个foreach
绑定,但我不能使用它,因为:
- 我希望/需要最初在服务器端构建我的 HTML
- 还有其他特定的 javascript 需要 HTML 已经存在,所以我不能让 Knockout 填充表格
- 我正在使用一个 ASP.NET 中继器,它与 Knockout 的模板不能很好地混合。
我也知道,我可以在代码隐藏(使用<tr runat="server" ... >
)中执行此操作,但我试图将我的所有布局和 javascript 放在标记和 js 文件中,而不是 C# 代码中。
那么,我能否以某种方式在我的标记中添加代码以将我选择的文本与来自当前数据绑定项的信息结合起来?