Я пытаюсь реализовать вызов функции Javascript, которая отображается в Gridview в каждой строке. Код создает кнопку, по которой можно щелкнуть, и вызывает экземпляр редактора изображений (Aviary от Adobe).
Поскольку у меня нет уникальных имен переменных, то одно и то же изображение появляется каждый раз, если я попытаюсь сделать это на отдельной странице и изменить имена переменных Javascript для каждого изображения, код работает, поэтому я не уверен, что делать, поскольку Я не знаю, как делать уникальные ссылки на переменные.
Я не могу включить встроенные части document.getElementByID в качестве параметров функции, потому что я не могу избежать одинарных кавычек.
3 переменные javascript:
editImageControl editImageURL editImageFilename
<asp:TemplateField HeaderText="Edit Photo">
<ItemTemplate>
<asp:Image ID="editImage" runat="server" ImageUrl='<%# "http://images.foo.com/" & Eval("filename") %>' CssClass="noDisplay" />
<script>
var editImageControl = document.getElementById('<%# DirectCast(Container, GridViewRow).FindControl("editImage").ClientID%>');
var editImageURL = document.getElementById('<%# DirectCast(Container, GridViewRow).FindControl("editImage").ClientID%>').src;
var editImageFilename = '<%# Eval("filename") %>';
</script>
<!-- Add an edit button, passing the HTML id of the image and the public URL of the image -->
<p><input type='image' runat="server" src='http://images.aviary.com/images/edit-photo.png' value='Edit photo' onclick="return launchEditor(editImageControl, editImageURL, editImageFilename);" /></p>
</ItemTemplate>
</asp:TemplateField>
RowIndex
в конец переменных может быть быстрым решением, напримерvar editImageURL<# DirectCast(Container, GridViewRow).RowIndex #> = document...
- person Rhumborl   schedule 28.11.2014