我正在尝试动态创建文件上传控件以更新 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>
但不知何故,这段代码不起作用。我对文件上传控制不太了解。请帮帮我。我应该使用更新面板吗?