2017-03-01 28 views
1

我在aspx頁面中有一個圖像和按鈕服務器控件。如何獲取圖像在客戶端由jquery設置的asp圖像控件的ImageUrl?

<asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="Upload" /> 
<asp:Image ID="impPrev" runat="server" Height="200px" /> 
<input type="file" name="ImageUpload" id="ImageUpload" onchange="ShowPreview(this)" /> 

我也有使用它,我能夠使用jquery asp的圖像控制的IMAGEURL從客戶端更改像

function ShowPreview(FileUpload1) { 
    if (FileUpload1.files && FileUpload1.files[0]) { 
     var file = FileUpload1.files[0]; 
     var ImageDir = new FileReader(); 
     if (file) { 
     ImageDir.readAsDataURL(file); 
     } 
     ImageDir.addEventListener('load', function() { 
     $('#impPrev').attr('src', ImageDir.result); 
     }); 
    } 
} 

,如果我想獲得url一個html文件類型輸入控制從代碼隱藏的新設置圖像像

protected void btnUpload_Click(object sender, EventArgs e) { 
    var path = impPrev.ImageUrl; 
} 

空字符串正在返回到「路徑」。 我怎樣才能得到由jquery設置的圖像的實際路徑?

回答

1

我相信你無法獲得服務器端的價值,因爲表單不會回傳到服務器的信息。此外,圖像不會存儲在服務器的任何位置以從服務器端獲取URL路徑。但是,您可以通過使用隱藏字段並將所需值設置爲該字段來獲取圖像屬性,例如名稱,客戶端路徑等。

</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="Upload" /> 
     <asp:Image ID="impPrev" runat="server" Height="200px" /> 
     <input type="file" name="ImageUpload" id="ImageUpload" onchange="ShowPreview(this)" /> 
     ** <input type="hidden" runat="server" id="myhid" />** 
    </div> 
    </form> 
</body> 
</html> 

function ShowPreview(FileUpload1) { 
    if (FileUpload1.files && FileUpload1.files[0]) { 
     var file = FileUpload1.files[0]; 
     var ImageDir = new FileReader(); 
     if (file) { 
      ImageDir.readAsDataURL(file); 
     } 
     ImageDir.addEventListener('load', function() { 
     $('#impPrev').attr('src', ImageDir.result); 
     $('#myhid').val(file.name); 
     }); 
    } 
} 

protected void btnUpload_Click(object sender, EventArgs e) 
     { 
      //var path = impPrev.ImageUrl; 
      var test = myhid.Value; 
     } 
相關問題