在ASP.NET中预览图像

时间:2013-08-20 08:20:54

标签: c# html asp.net

我必须首先预览图像,然后将其保存到DB。在多次尝试隐藏“Ajax fileUpload控件的文本框”之后,我决定使用这个简单的建议 - 使用html fileupload控件,隐藏它,但使用asp按钮来调用html控件。一切都好,直到现在。

ASPX:

<asp:Panel ID="pnlImage" runat="server" Height="120px" Width="120px"> 
   <asp:Image ID="imageBox" runat="server"/>                      
</asp:Panel>

<input type="file" id="selectedFile" name="_selectedFile"/> //will hide this later
<asp:Button ID="btnBrowse" runat="server" Text="Browse" CausesValidation="false" 
 OnClientClick="document.getElementById('selectedFile').click(); return false;"
 onclick="btnBrowse_Click" />

CS:

protected void btnBrowse_Click(object sender, EventArgs e)
{
    string strValue = Page.Request.Form["_selectedFile"].ToString();        
}

当我点击浏览按钮时,弹出窗口浏览文件。选择图片后,本地路径“C:\ pictures .....”填入Html控件的文本框。

  1. 但问题在于,它不会转到后面的代码(因为return:false)。 如果我说return:true,它确实如此,但本地路径只是闪烁并消失 文本框。所以strValue是空的。 !

  2. 我也试过,设置causevalidation&amp;回归真实。为此,我必须填写所有其他reqd。页面上的字段。虽然它是代码behid,但strValue只有名称(user1.jpg)而不是路径。

  3. 我觉得这个方法比其他javascript / jquery简单。我该如何从这里开始。

2 个答案:

答案 0 :(得分:0)

当您返回false时,肯定按钮不会单击,当您返回true时,按钮会单击,但客户端输入控件的值将丢失。看看这个: Retaining Control/Elements values changed via Client side on postbacks

答案 1 :(得分:0)

看看这个Previewing Image in ASP NET Image Control using Cs ...这是提供图像预览功能的一种非常简洁的方法。