【发布时间】:2015-08-02 10:42:43
【问题描述】:
我有一个 gridview,其中包含一个包含 HTMLInput 文件控件(上传按钮)的列,我们这里还有一个图像,这里是代码:
<ItemTemplate>
<asp:PlaceHolder ID="PlaceHolder1" runat="server" Visible='<%# Bind("IsfileUplo") %>'>
<div>
<table>
<tr>
<td>
<input id="Upload1" type="file" name="file" onchange="javascript:previewFile(this)" runat="server" accept="image/*" />
</td>
</tr>
</table>
</div>
<div>
<table>
<tr>
<td>
<asp:Image ID="Image2" runat="server" Height="100px" Width="100px" />
</td>
<td>
<asp:Label ID="Label5" runat="server" Text="" Width="120px"></asp:Label>
</td>
</tr>
</table>
</div>
</ItemTemplate>
运行网站后,我们有这样的东西:
如您所见,每行都有一个带有这些控件的项目模板。现在我需要触发 previewFile() javascript 函数,该函数获取上传按钮和图像 ID,然后执行一些操作。代码如下:
function previewFile() {
var preview = document.querySelector('#<%=Image2.ClientID %>');
var file = document.querySelector('#<%=Upload1.ClientID %>').files[0];}
问题出在这里,它无法检测到网格视图项目模板中的 Image2 和 Upload1 控件。我需要使用上传控件获取所选图片的图像路径,并使用此脚本在客户端的图像控件中显示它。但我无法传递正确的控件 ID 以使其正常工作。
我该怎么办?
【问题讨论】:
标签: javascript c# jquery asp.net gridview