0

1 つのボタンでファイルのアップロードを実装しました。

ファイルを選択した後、フォームを送信する必要があります。送信をクリックすると問題が発生し、ファイルのアップロードが空になり、コントローラーで HttpPostedFileBase null を取得しましたが、ファイルアップロードコントロールを直接使用すると (つまり、参照ボタンをクリックします)正常に動作しています

以下は私のコードです

  $(document).ready(function () {
        $("#btn").click(function () {
            $("#logup").click();
            $("#logup").select();
            return false;
        });

    });




<input type="button" id="btn" value="Choose file" />
<input type="file" id="logup" name="logofile" style="display:none" />


<button type="submit">Submit</button>

2番目に、ファイルを選択した後にファイル名も表示したいのですが、私のbtn以外に、どうすればこれを行うことができますか?

4

1 に答える 1

0

質問 1 への回答

以下は、送信ボタンが 2 つあるフォームです。これらの送信ボタンは両方とも同じ名前、つまり「submitButton」であることに注意してください</p>

@Html.BeginForm("MyAction", "MyController"); %>
<input type="submit" name="submitButton" value="Button1" />
<input type="submit" name="submitButton" value="Button2" />
}

コントローラに移ると、Action は string stringButton という入力パラメータを受け取ります。残りは一目瞭然です。

public ActionResult MyAction(string submitButton) {
        switch(submitButton) {
            case "Button1":
               // do something here
            case "Button2":
               // do some other thing here
            default:
                // add some other behaviour here
        }
...
}

質問 2 への回答

HttpFilePostedBaseオブジェクトから fileName を取得しますが、ポスト バックが必要ないため、この値を次のように返すアクションを作成できます。JSON

于 2012-08-25T09:54:22.483 に答える