我正在用asp.net创建一个网站,但是数据绑定存在问题。我正在使用DataLists和somethimes,我需要将数据发送到javascript函数。 这是我的HTML:
<asp:DataList ID="DataList1" runat="server" DataKeyField="Id" DataSourceID="DS">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Container.ItemIndex+1%>' />
<asp:ImageButton ID="Img1" runat="server" ImageUrl='<%# "~/Pictures/" + Eval("BookId") + ".jpg" %>' PostBackUrl='<%# "~/Public/Book.aspx?bdi=" + Eval("BookId") %>' />
<asp:Label ID="TitleLabel" runat="server" Text='<%# Eval("Title") %>' />
<asp:Label ID="SellPriceLabel" runat="server" Text='<%# (int)Eval("SellPrice")*(int)Eval("Count") %>' />
<asp:TextBox ID="CountLabel" runat="server" Text='<%# Eval("Count") %>' onchange="itemcounterchange('<%= Container.ItemIndex%>')" />
<asp:Button ID="Delete" runat="server" Text="delete" OnClientClick="changebasket(0);return false" />
</ItemTemplate>
</asp:DataList>
我几乎尝试了Internet上的所有内容。这些是人们接受的正确答案的解决方案:
1。
onchange="itemcounterchange('<%= Container.ItemIndex%>')"
结果:
onchange=""itemcounterchange("<%# Container.ItemIndex%>")""
2。
onchange='<%# "itemcounterchange(" + Container.ItemIndex + ")" %>'
完全不渲染onchange
!
3。
onchange = '<%# String.Format("itemcounterchange({0});", Container.ItemIndex)>'
结果:
onchange="<%# String.Format("itemcounterchange({0});", Container.ItemIndex)>"
4。
onchange='<%# "javascript:itemcounterchange(" + Container.ItemIndex + ")" %>'
这也不会呈现。
还有其他想法吗?或任何其他解决方案?我需要将数据绑定到我的javascript函数很多次,我真的没有希望。