不要再给我贴个链接,JQuery什么的了,我现在就想用这个简单点,实现。
愿意帮忙的大哥讲讲思路吧。FileUpload是隐藏的,点html的buttonfunction   OpenUploadDialog(objid)  
{
    var obj = document.getElementById(objid);
    if(obj)
      obj.click();
}
可以调用上面函数,弹出选择文件,而且可以把选择的文件路径放入FileUpload。
但是上传文件用到的
SaveAs,都是C#代码,这个要怎么调用呢?网上搜到的例子都不适用于这里。
好多人说用Ajax什么的,但我现在没时间装那个,学那个。我只想用最基本的东西,这难道很难吗?
还有一种就是我用C#的Button
btnUpload1.Attributes.Add("onclick", "return OpenUploadDialog('FileUpload1')");
加了这个以后,是可以弹出选择文件对话框,但选择了文件之后,无法把选择的文件及路径显示在FileUpload控件上,不知道为什么本来想发100分的,只剩71分了,全部送出,

解决方案 »

  1.   

    FileUpload上本来就显示不了路径,这个事控件里面的机制,如果你想研究,自己看源码。
      

  2.   

    你FileUpload用CSS隐藏,不要用Visible=False!!
    <asp:FileUpload ID="FileUpload1" runat="server" style="display:none;" />
      

  3.   

    luguo 
    不知道是你没有说清楚还是我没有看明白
    我是晕了
      

  4.   

    1.html按钮
    <input type="text" runat="server" id="funame" name="funame" value="单击上传...." readonly="readonly"  onclick="op(this);"/>
    2.js代码:
    function op()
    {
      window.open('fujian.aspx','x','height=320,width=400')
    }3.上传页面前台:
    <head runat="server">
        <title>莱克信息发布平台_上传附件</title>
        <link rel="stylesheet" href="css/css.css" type="text/css" />
        <link href="css/style.css" rel="stylesheet" type="text/css" />
        <script type="text/javascript">
       function tj(scf,oldname)
       {
        if (scf =="")
        {
          alert("您还没上传附件!---选择附件后请点提交!");
          return false
         }
        if (scf !="")
         window.opener.document.getElementById("t_scb07").value=scf; 
         window.opener.document.getElementById("funame").value=oldname;    
         window.close();
       }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
          <table cellpadding="0" cellspacing="0" border="0" style="margin-top:12px;">
            <tr>
                <td>&nbsp;上传附件:</td>
                <td style="text-align:center; line-height:40px; height:40px;"><asp:FileUpload ID="fu" runat="server" Width="198px" Height="23px" />
                          <asp:Button ID="btnUpload" runat="server" Text=" 上 传 " OnClick="btnUpload_Click" /></td>
            </tr>
            <tr>
                <td colspan="2" style="text-align:center; line-height:40px; height:40px;">
                    <input type="button" value=" 提 交 " id="btnClose" onclick="tj('<%=scf01 %>','<%=oldname %>');" />
                </td>
            </tr>
        </table>
            <asp:TextBox runat="server" ID="t_newname" Visible="false"></asp:TextBox>
            <asp:Label ID="lblOldName" runat="server"></asp:Label>
            <asp:Label ID="lblMsg" runat="server"></asp:Label>
            <a href="<%=strimg %>" target="_blank">   
            <asp:Image runat="server" ID="im_fujian" Visible="false" ToolTip="点击查看大图" Width="164" Height="112" />
            </a>
        </form>
    </body>
    </html>
      

  5.   

    简单的说,就是我想放一个Button,上面写"上传文件",我一点这个按钮,弹出一个选择文件的对话框,选完文件,点"确定",就开始上传了。
    这不简单吗?
      

  6.   

      上传后台!protected void btnUpload_Click(object sender, EventArgs e)
        {
            string fullname = this.fu.PostedFile.FileName.ToString();
            if (fullname.Length > 0)
            {
                FileInfo f = new FileInfo(fullname);
                string fname = f.Name.ToString();//获取原始文件名称
                string f_ex = f.Extension.ToString().ToLower();//获取文件的类型
                string length = f.Length.ToString();//获取文件的大小
                string newname = DateTime.Now.Millisecond.ToString() + length + fname;//定义文件的新名称用于保存在服务器上
                string savepath = Server.MapPath("annex");//文件存储的路径
                fu.SaveAs(savepath + "\\" + newname);//将以新文件名保存到服务器上
                string scf01x = msg.addscf(newname,f_ex, savepath, fname);
                if (scf01x.Length > 0)
                {
                    this.lblOldName.Text = fname;
                    this.t_newname.Text = scf01x;
                    this.lblMsg.Text = "----<font color=green>上传成功!</font>";
                    this.btnUpload.Enabled = false;
                   // this.btnClose.Disabled = false;
                    if (f_ex.Trim() == ".jpg")
                    {
                        this.im_fujian.Visible = true;                   
                        //im_fujian.ImageUrl = savepath.Trim() + "\\" + newname.Trim();
                        im_fujian.ImageUrl = "annex/" + newname.Trim();
                        strimg = this.im_fujian.ImageUrl;
                        
                    }                
                }
                else
                {
                    this.lblMsg.Text = "----<font color=green>上传失败!</font>";
                }
            }
            else
            {
                this.lblMsg.Text = "----<font color=red>请选择上传的附件!</font>";
            }
            scf01 = this.t_newname.Text;
            oldname = this.lblOldName.Text;
        
        }
      

  7.   

    我没太看明白  你执行完JS以后不就选择你要上传的文件了么   
       然后在后置代码里写saveAs就可以了
       你要获取文件在客户端的物理地址么?
      

  8.   

     好了...LZ..你在看看...!JS代码里有控制新页面大小的语句. html里的几句JS是把子页面上的数据回传到父页面上的..  那个上传的语句都好理解的..你看看先.  
      

  9.   

    你思路说的听明白了,哈哈
    玩笑,用swfupload可以满足你要求,下载文件中带例子
      

  10.   

    http://d.download.csdn.net/down/2694550/zhangpan0207 
    去下载 , 看看!
      

  11.   

    fileupload 不可以吗?? 
      

  12.   

    非IE不支持隐藏type=file框进行上传,可以考虑采用flash,silverlight等
      

  13.   

    不说别的,就是FileUpload左边的编辑框怎么隐藏?
    "浏览"两个字怎么变成"上传"?
      

  14.   

    终于碰见亲人了
    http://topic.csdn.net/u/20090305/10/054d6e01-ca11-495f-86f1-8e74fd9fc796.html
    这个人和我现在的想法一样,遇到的问题也一样了。
      

  15.   

    http://topic.csdn.net/u/20070724/14/c5141fed-ab24-4b1e-9336-a3aa6b2c3c39.html
    这也是一位亲人,最后和我一样,不得不妥协,采用手点"浏览"了