如题,本人想让一个FileUpload控件隐藏,当点击一个按钮时让FileUpload控件相应,弹出文件选择对话框,选择文件后将文件路径放在Label框中,请高手指点!

解决方案 »

  1.   

    <head runat="server">
        <title>无标题页</title>
        <script type="text/javascript" language="javascript">
        function test(){
            document.getElementById("FileUpload1").style.display="inline";
            document.getElementById("FileUpload1").click();
        }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <asp:FileUpload ID="FileUpload1" runat="server" />
        <input id="Button1" type="button" value="button" onclick="test();"/>
    </form> 
      

  2.   

    protected void Page_Load(object sender, EventArgs e)
        {
            this.FileUpload1.Style.Add("display", "none");
        }
      

  3.   

    感谢各位帮忙,1楼、2楼两位老兄合在一起确实能实现将FileUpload控件隐藏了,但我要同时将FileUpload控件的文件路径一起赋给Label 控件显示,又如何操作?
      

  4.   

    <%@ page language="C#" %>
    <script runat='server'>
    protected   void   Page_Load(object   sender,   EventArgs   e) 

      this.FileUpload1.Style.Add("display",   "none"); 
      this.FileUpload1.Attributes.Add("onpropertychange","document.getElementById('FilePath').innerHTML=this.value)");//添加处理函数
    }
    </script>
    <head   runat="server"> 
            <title> 无标题页 </title> 
            <script   type="text/javascript"   language="javascript"> 
            function   test(){ 
                    document.getElementById("FileUpload1").style.display="inline"; 
                    document.getElementById("FileUpload1").click(); 
            } 
            </script> 
    </head> 
    <body> 
            <form   id="form1"   runat="server">        
            <span id='FilePath'></span><br/>
            <asp:FileUpload   ID="FileUpload1"   runat="server"   /> 
            <input   id="Button1"   type="button"   value="button"   onclick="test();"/> 
    </form>  
    </body> 
    </html>
      

  5.   

    <head runat="server">
        <title>无标题页</title>
        <script type="text/javascript" language="javascript">
        function test(){
            document.getElementById("FileUpload1").style.display="inline";
            document.getElementById("FileUpload1").click();
        }
        function test2(){
            var filePath = document.getElementById("FileUpload1").value;
            document.getElementById("Label1").innerHTML=filePath;
             document.getElementById("FileUpload1").style.display="none";
        }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <asp:FileUpload ID="FileUpload1" runat="server" />
        <input id="Button1" type="button" value="button" onclick="test();"/>
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
           
    </form> 
    </body>
    ***************************************************************************
     protected void Page_Load(object sender, EventArgs e)
        {
            this.FileUpload1.Style.Add("display", "none");
            this.FileUpload1.Attributes.Add("onchange", "test2();");
        }
      

  6.   

    二们提供的都没有问题,但是现在又有新问题,我点击页面上的下拉列表控件选择一项时,页面刷新,FileUpload控件的值就没了,还请高手指点,我好分分了.
      

  7.   

    不要给dropdownlist加autopost属性
      

  8.   

    不加autopostback属性,那么我选择的值也得不到啊?
      

  9.   

    使用AJAX也不知是我使用不当还是怎么回事,不行的,还是被刷掉了,我是这样使用的:<atlas:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="True"/>
    <atlas:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>...</ContentTemplate>
    </atlas:UpdatePanel>请指点.
      

  10.   

    非要用autopostback的话
    把dropdownlist的选择的值用js写入一个hiddenfield
    然后页面的page_load里对把heddenfield的值传给FileUpload和label
      

  11.   

    理解有误,15楼的兄弟,下拉列表的值跟FileUploadt和Label没有关系,只不过是有时候先选择了文件,再点下拉列表,这时选择的文件就没了,如何选中下拉列表控件的autopostback,提交时又得不取下接列表的真正值,兄弟如何使用js取到下拉列表的值,贴出来看看,谢了.
      

  12.   

    你不启用dropdownlist的autopostback 属性,在页面添加一个id 为 ddlCenter的hidden隐藏控件,设置一下,当鼠标滑动到 button 上或单元格上时,就用(onmouseover="ceids.value=ddlCenter.value;“)
    document.…… 获取hidden中的值就可以了。 在后台就可以根据条件操作了。
    接下来再加上,上面朋友提供的代码就可以了。
    <head   runat="server">
            <title> 无标题页 </title>
            <script   type="text/javascript"   language="javascript">
            function   test(){
                    document.getElementById("FileUpload1").style.display="inline";
                    document.getElementById("FileUpload1").click();
            }
            function   test2(){
                    var   filePath   =   document.getElementById("FileUpload1").value;
                    document.getElementById("Label1").innerHTML=filePath;
                      document.getElementById("FileUpload1").style.display="none";
            }
            </script>
    </head>
    <body>
            <form   id="form1"   runat="server">
                   <asp:FileUpload   ID="FileUpload1"   runat="server"   />
            <input   id="Button1"   type="button"   value="button"   onclick="test();"/>
                    <asp:Label   ID="Label1"   runat="server"   Text="Label"> </asp:Label>
                 
    </form>  
    </body>
    ***************************************************************************
      protected   void   Page_Load(object   sender,   EventArgs   e)
            {
                    this.FileUpload1.Style.Add("display",   "none");
                    this.FileUpload1.Attributes.Add("onchange",   "test2();");
            }
      

  13.   

    <!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" style="display:none" />
            <br /><input id="Button3" type="button" value="button" onclick="f()" />
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            &nbsp;</div>
        </form>
        <script type="text/javascript">
        function f(){
            var fu=document.getElementById("FileUpload1");
            fu.click();
            var lb=document.getElementById("Label1").innerHTML=fu.value;
        }
        
        </script>
    </body>
    </html>
      

  14.   

    <head   runat="server">
            <title> 无标题页 </title>
            <script   type="text/javascript"   language="javascript">
            function   test(){
                    document.getElementById("FileUpload1").style.display="inline";
                    document.getElementById("FileUpload1").click();
            }
            </script>
    </head>
    <body>
            <form   id="form1"   runat="server">
                   <asp:FileUpload   ID="FileUpload1"   runat="server"   />
            <input   id="Button1"   type="button"   value="button"   onclick="test();"/>
    </form>  
      

  15.   

    asp.net button点击调用fileupLoad的Click事件打开文件对话框,之后文件对话框有打开和取消按钮,为什么点击打开按钮就不执行button事件下的代码了,我想在button事件下(的后台代码中)里获得打开一个文件的地址,我点取消按钮的时候就执行button事件下的代码了,这样肯定是得不到文件地址的,得地址啊,(打开文件对话框我已经打开了,关键是在button事件下得地址啊)