Word ドキュメントを更新するために動的にファイル アップロード コントロールを作成しようとしています。aspx ページに次のコードがあります。
<asp:GridView ID="gvDetails" runat="server" AutoGenerateColumns="false" DataKeyNames="FilePath" EmptyDataText="No documents attached" >
<HeaderStyle BackColor="Purple" Font-Bold="true" ForeColor="White" />
<Columns>
<asp:TemplateField HeaderText="FilePath">
<ItemTemplate>
<asp:LinkButton ID="lnkDownload" runat="server" Text="My Document" OnClick="lbDownloadDocument_Click"></asp:LinkButton>
<img src="Image/delete.jpg" alt="" onclick="AddFile()" /><br />
<br />
<asp:Button ID="Button1" runat="server" Text="Update" OnClick="Button2_Click" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
.cs ページに次のコードがあります。
protected void Button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < Request.Files.Count; i++)
{
HttpPostedFile PostedFile = Request.Files[i];
if (PostedFile.ContentLength > 0)
{
string FileName = System.IO.Path.GetFileName(PostedFile.FileName);
PostedFile.SaveAs(Server.MapPath("~/Files/") + FileName);
}
}
}
そして、私のスクリプトは次のとおりです。
<script type="text/javascript">
var i = 1;
function AddFile() {
i++;
var div = document.createElement('DIV');
div.innerHTML = '<input id="file' + i + '" name = "file' + i + '" type="file" /><img src="~/Image/delete.jpg" alt="Remove" onclick = "RemoveFile(this)" />';
document.getElementById("divFile").appendChild(div);
}
function RemoveFile(file) {
document.getElementById("divFile").removeChild(file.parentNode);
}
</script>
しかし、どういうわけかこのコードは機能していません。ファイルのアップロード制御についてはよくわかりません。それを手伝ってください。更新パネルを使用する必要がありますか?