【发布时间】:2016-02-27 23:10:23
【问题描述】:
我有这个 asp 代码:
<asp:Panel runat="server">
<div class="row2">
<input type="file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" id="fileSelect" name="fileSelect" runat="server" />
<asp:Button ID="btnUpload" runat="server" Text="load" OnClick="btnUpload_Click2" CausesValidation="False" />
</div>
</asp:Panel>
这里是浏览器上生成的HTML代码:
<div class="row2">
<input name="ctl00$ContentPlace$fileSelect" type="file" id="ctl00_ContentPlace_fileSelect" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel">
<input type="submit" name="ctl00$ContentPlace$btnUpload" value="load" id="ctl00_ContentPlace_btnUpload">
</div>
</div>
下面是代码:
protected void btnUpload_Click2(object sender, EventArgs e)
{
HttpPostedFile file = Request.Files["fileSelect"];
}
在输入文件元素的帮助下选择文件后,按下 btnUpload 后触发的代码,但我总是得到文件值 null。
如果我改变这一行:
HttpPostedFile file = Request.Files["fileSelect"];
到这一行:
HttpPostedFile file = Request.Files["ctl00$ContentPlace$fileSelect"];
我在服务器上的文件变量中获取选定的文件。
所以我的问题是,如果我使用这一行,为什么我无法获取文件:
HttpPostedFile file = Request.Files["fileSelect"];
【问题讨论】:
-
如果您在客户端检查生成的 HTML,文件上传元素的 name 属性的值是多少?
标签: asp.net