这是ASP.NET代码:
<div class="row1" style="padding: 3px">
<asp:Button Text="Select" ID="btnDescColumn" runat="server" OnClick="SetDescPoint" CausesValidation="False"/>
<input type="file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" id="fileSelect" runat="server" class="hidden" />
<asp:Button ID="btnUpload" runat="server" Text="Load" OnClick="LoadFile" class="hidden" CausesValidation="False" />
<input type="button" id="triggerUpload" name="name" value="Select File" />
</div>
这里的观点:
这是JQuery代码:
$('#triggerUpload').click(function () {
$('#<%=fileSelect.ClientID%>').trigger('click');
});
$('#<%=fileSelect.ClientID%>').change(function () {
$('#<%=btnUpload.ClientID%>').trigger('click');
});
当Select File
按钮单击对话框窗口打开并且用户选择文件时。
选择文件后,此JQuery代码被触发:
$('#<%=fileSelect.ClientID%>').change(function () {
$('#<%=btnUpload.ClientID%>').trigger('click');
});
并且上面的JQuery行触发了这个asp按钮控件:
<asp:Button ID="btnUpload" runat="server" Text="Load" OnClick="LoadFile" class="hidden" CausesValidation="False" />
这是代码隐藏的方法:
protected void LoadFile(object sender, EventArgs e)
{
HttpPostedFile file = Request.Files[fileSelect.Name];
int fileSize = file.ContentLength;
byte[] fileByteArray = new byte[fileSize];
file.InputStream.Read(fileByteArray, 0, fileSize);
}
单击postBack Process
按钮后会触发此代码:
protected void SetDescPoint(object sender, EventArgs e)
{
if(fileSelect.Value != string.Empty)
{
//make some process...
}
}
但fileSelect
控件为空。
据我了解input file
,不要在回发电话之间保留文件。
我需要在后面的SetDescPoint代码中访问该文件。
任何想法如何在回发电话之间保留文件?
答案 0 :(得分:0)
当您new System.Drawing.Font(...
时......您必须执行uploading a file in asp.net
..这只能通过full post-back
.. submitting the page (button click)
实现..即使您no jquery trick will work
..那么你也postback button is under a updatepanel