5

到目前为止,我一直在使用 2 个控件(文件上传和附加按钮)。在 fileUpload 控件中选择文件后,用户必须通过按保存按钮来接受他的选择。

这是按钮的代码:

    protected void Button1_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            FileUpload1.SaveAs(Server.MapPath("~/file.jpg"));
            Label1.Text = Server.MapPath("~/file.jpg");
            Image1.ImageUrl = "file.jpg";
        }
    }

我想知道是否有办法避免使用该按钮,因此 FileUpload 控件的按钮将完成附加按钮的工作。

4

1 回答 1

4

该控件在浏览器中FileUpload呈现一个。<input type="file>您可以使用 javascriptchange事件来触发上传。

首先确保您在页面load中注册了一个事件处理程序body

<body onload="body_onload()">

并在您的事件处理程序中添加此代码:

<script type="text/javascript">
    function body_onload()
    {
        ...

        $get('<%=FileUpload.ClientID%>').onchange = function() { 
            $get('<%=this.Page.Form.ClientID%>').submit(); 
        };
    }
</script>

或者使用纯 jQuery 来做到这一点,把它放在head你的页面中(如果你还没有包含 jQuery):

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

然后使用此代码绑定到事件(分别用您的和元素的 id替换#fileUpload1和):#form1FileUploadForm

<script type="text/javascript">
    $(document).ready(function() {
        $("#fileUpload1").change(function() {
            $("#form1").submit();
        });
    });
</script>
于 2013-04-06T13:40:40.327 回答