0

私のモデルでは、HttpPostedFileBase プロパティをファイルとして持っています。ビューには、テキストボックス「A」とボタン「B」があります。私のページには非表示の input type="file" id="file " もあります。B クリックで、JavaScript で #file.click をトリガーします。選択したファイルがモデル プロパティにバインドされ、ファイル名がテキスト ボックスに表示されます。私はこれを行うことができません。何か助けはありますか?質問が明確であることを願っています。そうでない場合は、さらに詳しく説明できるように教えてください。

何か助けはありますか?

編集1:

モデル:

public class FileUploadModel
    {
        public HttpPostedFileBase File { get; set; }
        public string FileName {get;set;}
    }

意見:

<script type="text/javascript">
    $(document).ready(function () {

        $("#Browse").click(function () {

            $("#fileIputType").trigger('click');

           //now the file select dialog box opens up
          // The user selects a file
          // The file should get associated with the model property in this view
          // the textbox should be assigned the filename 

        });
    });
</script>


    @Html.TextBox("fileTextBox", Model.FileName, new { id = "fileTextBox" })

        <input type="button" id="Browse" name="Browse" value="Browse" />

        <input type="file" id="fileInputType" style="visibility:hidden"/> 

        @Html.Hidden("ModelType", Model.GetType())

  //How can i bind the selected file to the model property ( public HttpPostedFileBase File )
4

2 に答える 2

1

Fileファイル入力の名前プロパティに割り当てます

    <input type="file" name="File" id="fileInputType" style="visibility:hidden"/> 

HttpPostedFileBase fileこれは、フォームを送信するときにアクション メソッドのパラメーターにバインドされます。

編集:

フォームをに設定することを忘れないでentypeくださいmultipart/form-data

@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new {enctype="multipart/form-data" })
于 2013-11-07T11:52:58.483 に答える