图像删除/覆盖页面上的所有控件

时间:2015-05-28 12:57:40

标签: c# asp.net image webforms

所以我已经有了这个用于选择图像的asp文件上传控件。然后将图像保存在名为" TempImages"的临时文件夹中,然后我将其从那里拉出并在页面上显示,使用下面显示的代码。

    protected void Close_Click(object sender, EventArgs e)
    {
        Div1.Visible = false;
    }
    #endregion Submit button

    protected void LogoToUpload_Click(object sender, EventArgs e)
    {

        if (upldLogo.HasFile)
        {
            upldLogo.SaveAs("C:\\TempImages\\" + upldLogo.FileName);
            Response.ContentType = "image/jpeg";
            string physicalFileName = @"C:\TempImages\" + upldLogo.FileName;
            Response.WriteFile(physicalFileName);
        }

我的问题是,当显示图像时,它会摆脱所有其他控件,即下拉列表,文本框和标签以及所有爵士乐。

任何人都有任何关于我如何使图像显示在弹出窗口中或只显示在同一页面上但所有控件仍在那里的建议。

干杯人

1 个答案:

答案 0 :(得分:0)

好的,所以我设法通过使用一个小Javascript来解决这个问题,我把它放在控制页面的head标签上。

            <script type="text/javascript">
    function previewFile() {
        var preview = document.querySelector('#<%=imgLogo.ClientID %>');
        var file = document.querySelector('#<%=upldLogo.ClientID %>').files[0];
        var reader = new FileReader();

        reader.onloadend = function () {
            preview.src = reader.result;
        }

        if (file) {
            reader.readAsDataURL(file);
        } else {
            preview.src = "";
        }
    }
</script>

aaaand这个内容。 这样,您可以在选择文件后创建文件上传控件旁边的图片的一些预览。

干杯!

<input ID="upldLogo" type ="file" onchange="previewFile()" runat="server" />