2013-04-06 21 views
5

अभी तक, मैं 2 नियंत्रण (फ़ाइल अपलोड और अतिरिक्त बटन) का उपयोग कर रहा हूं। फ़ाइल अपलोड करने के बाद फ़ाइल अपलोड करने के बाद, उपयोगकर्ता को सहेजें बटन दबाकर अपनी पसंद स्वीकार करनी पड़ी।'ब्राउज़ करें' पर क्लिक करने के बाद फ़ाइल अपलोड अपलोड फ़ाइल को कैसे अपलोड करें?

यहाँ बटन का कोड है:

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> प्रस्तुत करता है। आप अपलोड को ट्रिगर करने के लिए जावास्क्रिप्ट change ईवेंट का उपयोग कर सकते हैं।

<body onload="body_onload()"> 

और अपने ईवेंट हैंडलर के अंदर इस कोड जोड़ें::

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

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

या ऐसा करने के लिए

पहले सुनिश्चित करें कि आप एक load घटना अपने पृष्ठ के body में पंजीकृत हैंडलर कर यह शुद्ध jQuery का उपयोग करके, इसे अपने पृष्ठ के head में रखें (यदि आपके पास पहले से jQuery शामिल नहीं है):

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

तो (क्रमशः #fileUpload1 और #form1 आईडी अपने FileUpload और Form तत्वों के के साथ बदलें,) घटना के लिए बाध्य करने के लिए इस कोड का उपयोग:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#fileUpload1").change(function() { 
      $("#form1").submit(); 
     }); 
    }); 
</script> 
संबंधित मुद्दे