0

私は次のフォームを持っています

<form id="file_upload" action="/Upload/Save" method="POST" enctype="multipart/form-data">
<input type="text" id="txtProposalName" name="name" placeholder="Nome da Camiseta" />
<input type="text" id="txtProposalDesc" name="description" placeholder="Descrição da Camiseta"/>
<div class="fileupload-buttonbar">
    <div class="progressbar fileupload-progressbar"></div>
    <span class="fileinput-button">
        <a href="javascript:void(0)" class="upload-image">Upload images</a>
        <input type="file" name="files[]" multiple />
    </span>
</div>
<input type="hidden" id="imgID" name="imgID"/>
<input type="submit" id="postProposal"/>

このアクションを呼び出します:

[HttpPost]
    public JsonResult Save(string name, string description, string imgID)
    {
        return Json("a");
    }

(これは現在の実装であり、まだいくつかのテストを行っているため、ロジックはありません)。

私の問題は、送信ボタンをクリックすると、アクションが正しい値で呼び出されますが、アクションが戻ると、ブラウザーは/ Upload / Save(アクションURL)にリダイレクトします。なぜこうなった?それを防ぐ方法はありますか?

ありがとう!

4

4 に答える 4

1

私が見ることができるようにあなたはフルページリロードを使用します:

    action = "/ Upload / Save"

また、コントローラーのjsonアクションメソッドにデータを投稿しようとしています。あなたはjqueryですべてのフォーム送信makeを必要とします、あなたがajaxファイルアップローダーで見つけるほとんどの問題。

追加:serialize() も見てください。これは、すべてのフォーム入力値を収集するのに役立ちます。

于 2012-09-16T19:58:16.400 に答える
1

Ajax.BeginFormを使用して、ページのリロードを防ぐことができます。

于 2012-09-16T19:58:45.067 に答える
1

メソッド(AJAXなど)への非同期呼び出しを使用して、ページが再ロードされないようにすることができます。

于 2012-09-16T19:54:35.830 に答える
0

それを防ぐ必要はありません。サーバーコードでユーザーをリダイレクトするだけです。

于 2012-09-16T19:52:29.680 に答える