jQueryを使用したアップロードに関する別の質問の例を次に示します。追加のデータとJqueryを使用したASP.NET MVCのアップロード
http://aspzone.com/tech/jquery-file-upload-in-asp-net-mvc-without-using-flash/
私は他のフォーム要素を通じて、しかし、アップロードにさらにデータを追加するには、このビットを拡張したいと思います。どのようにこれを行うことができる任意のアイデア?
jQueryを使用したアップロードに関する別の質問の例を次に示します。追加のデータとJqueryを使用したASP.NET MVCのアップロード
http://aspzone.com/tech/jquery-file-upload-in-asp-net-mvc-without-using-flash/
私は他のフォーム要素を通じて、しかし、アップロードにさらにデータを追加するには、このビットを拡張したいと思います。どのようにこれを行うことができる任意のアイデア?
jQuery ajaxForm
機能を使用して、ajaxUploadForm
フォームの投稿を行います。私は、入力要素をajaxUploadForm
フォームに追加すると、余分な入力データが含まれると想定します。
それを試してみてください:にマークアップを変更する(問題のサイトから借用)以下:
<script type="text/javascript"> 1:
$(function() {
$("#ajaxUploadForm").ajaxForm({
iframe: true,
dataType: "json",
beforeSubmit: function() {
$("#ajaxUploadForm").block({ message: '<h1><img src="/Content/busy.gif" /> Uploading file...</h1>' });
},
success: function(result) {
$("#ajaxUploadForm").unblock();
$("#ajaxUploadForm").resetForm();
$.growlUI(null, result.message);
},
error: function(xhr, textStatus, errorThrown) {
$("#ajaxUploadForm").unblock();
$("#ajaxUploadForm").resetForm();
$.growlUI(null, 'Error uploading file');
}
});
});
</script>
<form id="ajaxUploadForm" action="<%= Url.Action("AjaxUpload", "Upload")%>" method="post" enctype="multipart/form-data">
<fieldset>
<legend>Upload a file</legend>
<label>File to Upload: <input type="file" name="file" />(100MB max size)</label>
<input type="text" id="someOtherInputElement" value="Test" />
<input id="ajaxUploadButton" type="submit" value="Submit" />
</fieldset>
</form>
いいえ、これは当てはまりません。コントローラ上でこれらのフォーム要素にアクセスする方法はありませんが、問題です。少なくとも私が見ることはできません。 – Ciel
この回答が受け入れられた理由は何ですか? @Cielの場合と同様に、私はコントローラのアクションでこれらの他の要素にアクセスする方法を見ません。それについての洞察? – camainc
Stacey、camainc:ここでのajaxForm関数の目標は、ajaxUploadFormフォームの入力要素をJSONオブジェクトにパッケージ化することです。このオブジェクトは、コントローラアクションを処理するときにMVCエンジンによって解釈されます。コントローラーに必要なパラメーターがあることを確認したら、これが機能するはずです。参考までに、http://stackoverflow.com/questions/4656232/pass-object-from-json-into-mvc-controller-its-always-nullを参照してください。 –
あなたがテキストエリア、選択、などのようなより多くのアップロード要素、または他の要素を追加しますか? – yoda
テキストボックスなどの要素が増えました。 – Ciel
これを試して、それに多くの時間を費やしたなら、私は2つのステップのプロセスを提案したいと思います:(1)ファイル以外のデータを投稿し、それを永続させます(2)ファイルをアップロードして後で付け加えます。同時に両方をやろうとすると、私はここに収まらないほど多くの潜在的な問題を引き起こします。 –