ASP.NET MVC 2 RTM - 2つのボタンシングルビュー/フォームでのアクションを提出取り扱い

StackOverflow https://stackoverflow.com/questions/2444245

質問

私は、ユーザーがサーバーにファイルをアップロードすることができた図を持っています。

インポートされた最後のファイルをダウンロードするファイルやその他をアップロードする1

このビューでは、私はまた、2つのボタンがあります。

私のコントローラでは、私は2つのアクションメソッド作成:インポートとエクスポート]を

どのように私は私のコントローラで適切なアクションメソッドに、各ボタンのクリックをリダイレクトするために管理することができるか。

私が試してみましたHtml.ActionLinkます:

<%= Html.ActionLink("Upload", "Import", "OracleFile")%>
<%= Html.ActionLink("Download", "Export", "OracleFile")%>

Html.ActionLinkは、トリックをしませんでした。アクションリンクは、右のアクションメソッドに私を取っていたが、彼らはGETリクエストを生成しました。このようRequest.Files.Count = 0ます。

私は、POSTリクエストが必要です。

注:アップロードが働いていたし、突然のすべては、それが動作を停止することを最も魅力的な部分です。私は何人かの人々はRequest.Filesは常に空であるのFileUploadのタスクと同じ問題を抱えていることを見てきました。私は、サーバーへのポストを必要とするので、それが空だと思います。それはないですか?

役に立ちましたか?

解決

多分これはuのアイデアを与えるだろう。

表示

<form enctype="multipart/form-data" method="post" action="/Media/Upload/Photo">
    <input type="file" name="file" id="file" /> 
    <input type="submit"  name= "submitImport" value="Upload" />
    <input type="submit" name = "submitExport"  value="Download" />
</form>

制御

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Action (FormCollection formCollection)
        {
            if (formCollection["submitImport"] != null)
            {
                return Import(formCollection);
            }
             if (formCollection["submitExport"] != null)
            {
                return Export(formCollection);
            }
        }

エクスポートインポート

appropriateactionsです

他のヒント

あなたは「マルチパート/フォームのデータ」形式を使用して、フォームを送信する必要があります。ノーActionLinkのます。

<form enctype="multipart/form-data" method="post" action="/Media/Upload/Photo">
    <input type="file" name="file" id="file" /> 
    <input type="submit" value="Upload" />
</form>

、アップロードのPOSTリクエストを生成するファイル入力フォーム要素を使用し、普通ALAサーバーにポストバックされます。

http://www.w3schools.com/jsref/dom_obj_fileupload.aspする

スコットHanselman氏からこのブログの記事を見てください。 http://www.hanselman.com/blog/ABackToBasicsCaseStudyImplementingHTTPFileUploadWithASPNETMVCIncludingTestsAndMocks.aspxする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top