我必须先预览图像,然后将其保存到数据库。在多次尝试隐藏“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 控件的文本框中。
但是这里的问题是,它没有去后面的代码(因为return:false)。如果我说 return:true,它确实如此,但本地路径只是闪烁并从文本框中消失。所以 strValue 是空的。!
我也尝试过,设置原因验证并返回 true。为此,我必须填写所有其他要求。页面上的字段。虽然它隐藏了代码,但 strValue 只有名称(user1.jpg)而不是路径。
我发现这种方法比其他 javascript/jquery 简单。我应该如何从这里开始。