为什么点击两次上传按钮才能上传(后台代码完全没有问题,最大的可能就是js的问题)<script language=javascript>
function a()
{
Form1.upfile1.click();

}
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<INPUT id="upfile1" type="file" style="WIDTH: 488px; HEIGHT: 22px;DISPLAY: none;" size="62" runat="server">
<asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 632px; POSITION: absolute; TOP: 224px" runat="server"
Text="Button"></asp:Button>
<INPUT type="button" value="打开上传窗口" onclick="a();">
</form>
</body>
</HTML>
后台;
private void Button1_Click(object sender, System.EventArgs e)
{
for(int i=0;i<Request.Files.Count;i++)
{
if(Request.Files[i].ContentLength >0)
{
string filename = System.IO.Path.GetFileName(Request.Files[i].FileName);
Request.Files[i].SaveAs(Server.MapPath("img\\"+filename));

} Response.Write("1");
Response.Write("保存成功!");

}
}现象非常怪,点击两次才上传文件,点第一次时上传控件的值就变成空的了,点第二次时才上传。

解决方案 »

  1.   

    .net 不懂
    不过,那个客户端的事件应该是绑定在Button1上的
    function a()
    {
       Form1.Button1.click();}
      

  2.   

    是不是<INPUT id="upfile1"=> <INPUT name="upfile1" id="upfile1"
      

  3.   

    上传文件form中要加enctype="multipart/form-data"好象,我做php是这样,<form id="Form1" method="post" runat="server" enctype="multipart/form-data">
      

  4.   

    前台
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="lianxi.aspx.cs" Inherits="lianxi" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:FileUpload ID="FileUpload1" runat="server" />
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
        </form>
    </body>
    </html>后台
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class lianxi : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
        protected void Button1_Click(object sender, EventArgs e)
        {
    for(int i=0;i<Request.Files.Count;i++)
    {
    if(Request.Files[i].ContentLength >0)
    {
    string filename = System.IO.Path.GetFileName(Request.Files[i].FileName);
    Request.Files[i].SaveAs(Server.MapPath("img\\"+filename));}Response.Write("1");
    Response.Write("保存成功!");}    }
    }
      

  5.   

    js好像没问题,你加一下enctype="multipart/form-data"试试。