グリッドの列にアップロードする前に表示しているメンバーの写真をアップロードする必要があります。各行はアップロードのために異なる写真を持っています。グリッドカラムのアイテムテンプレートの中にイメージカラムを追加しました。私はグリッドに写真をアップロードするためにファイルリーダーを使用していますが、グリッドの次の行にアップロードするたびに、最初の行のアップロードされたイメージが置き換えられます。私はそれを行方向にアップロードしたい。画像をアップロードしてグリッド列に画像をアップロードするボタン
<asp:TemplateField HeaderText="Upload Photo">
<ItemTemplate>
<table border="0">
<tr>
<td style="padding-left: 11px"><div style="vertical-align: top; padding-left: 11px" id="ImageHolderAddEnrollee"> <img alt="Upload your photo" src="/images/DefaultView.gif" style="width: 50px; height: 50px" /> </div>
<asp:FileUpload runat="server" ID="EnrolleeFileUpload" CssClass="file-upload-button" /></td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
プレビュー用jQuery
コードと写真をアップロードする - 要件のこのタイプの
$('#<%=grdEnorlleeAdditionalInfo.ClientID %>').find('input:file[id$="EnrolleeFileUpload"]').on('change', function() {
var imgPath = $(this)[0].value;
var extn = imgPath.substring(imgPath.lastIndexOf('.') + 1).toLowerCase();
var image_holder = $("#ImageHolderAddEnrollee");
image_holder.empty();
var reader = new FileReader();
reader.onload = function (e) {
$("<img />", {
"src": e.target.result
}).appendTo(image_holder);
}
image_holder.show();
reader.readAsDataURL($(this)[0].files[0]);
}