1

私はMVCとWeb開発に非常に慣れていません。私はすでに持っているトークンを渡す必要があり<input type="file" id="theFile"/>ます。次に、取得しようとしているファイル名とファイルを渡し、日付も必要です。この情報をホーム コントローラーに取得できたら、C# を使用できるようになり、何が起こっているかがわかります。しかし、現時点では、正しい道を進んでいるかどうかさえわかりません。

ボタンを使用してこれらの値をコントローラーに渡すにはどうすればよいですか??

私からしてみれば:

<input type="file" id="theFile"/>
<br>
<button type="button" onclick="Upload(token = Model.Token, fileName = theFile.Value.tostring(), modDate = date.now, file = theFile.value);" >Upload file to the website</button>

ホームコントローラーで:

 public ActionResult Upload(string token, string filename, string moddate, object file)
            {

            }
4

1 に答える 1

1

コントローラーのアクション メソッドを HTML から直接呼び出さないでください。データをアップロードする場合、これを行う標準的な方法は、フォームをサーバーに投稿することです。

したがって、ビューにファイル入力があり、トークンを含む隠しフィールドが必要なように見えます。または、Cookie からこれを取得するかは、実装によって異なります。

ビューに があることを確認する必要があり<form>ます。MVCでは、次のようなことをします

@using (Html.BeginForm("yourControllerName", "Upload"))
{
   all your form elements here
}

最後に、アクション メソッド[HttpPost]に属性を追加します。UploadMVC は、フォーム要素をUploadのパラメータにマッピングします。

于 2012-08-29T08:27:20.600 に答える