2017-03-01 74 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; 
     }