2013-04-06 90 views
5

直到現在,我一直在使用2個控件(FileUpload和附加按鈕)。 在fileUpload控件中選擇文件後,用戶必須通過按保存按鈕來接受他的選擇。如何在單擊「瀏覽」後立即使FileUpload控件上傳文件?

這裏是按鈕的代碼:

protected void Button1_Click(object sender, EventArgs e) 
    { 
     if (FileUpload1.HasFile) 
     { 
      FileUpload1.SaveAs(Server.MapPath("~/file.jpg")); 
      Label1.Text = Server.MapPath("~/file.jpg"); 
      Image1.ImageUrl = "file.jpg"; 
     } 
    } 

我想知道是否有辦法避免使用該按鈕,所以FileUpload控件的按鈕會做另外的按鈕的工作。

回答

4

FileUpload控件在瀏覽器中呈現<input type="file>。您可以使用javascript change事件觸發上傳。

首先確保你在你的頁面的body註冊的load事件處理程序:

<body onload="body_onload()"> 

,並添加事件處理程序中的代碼:

<script type="text/javascript"> 
    function body_onload() 
    { 
     ... 

     $get('<%=FileUpload.ClientID%>').onchange = function() { 
      $get('<%=this.Page.Form.ClientID%>').submit(); 
     }; 
    } 
</script> 

還是做這使用純jQuery,將其放置在頁面的head(如果您還沒有包含jQuery):

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 

然後使用此代碼綁定到該事件(分別代替#fileUpload1#form1FileUploadForm元素的id):

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#fileUpload1").change(function() { 
      $("#form1").submit(); 
     }); 
    }); 
</script> 
相關問題