Я создаю сайт с asp.net, и у меня проблема с привязкой данных.Я использую DataLists и иногда мне нужно отправить данные в функцию 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>
Я попробовал почти все в Интернете.Вот некоторые решения, которые люди принимают как правильный ответ:
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, и я действительно безнадежен.