5

これまで、2 つのコントロール (FileUpload と追加ボタン) を使用してきました。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>

次に、このコードを使用してイベントにバインドします (#fileUpload1およびをそれぞれおよび要素#form1の ID に置き換えます)。FileUploadForm

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