11

フォームに次のフィールドを追加する必要があります

<input type="file" class="input-file" />

モデルを作成し、このフィールド (最後のフィールド) を記述します

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Web;

 namespace CorePartners_Site2.Models
 {
     public class FeedbackForm
     {
    public string Name { get; set; }
    public string Email { get; set; }
    public string Phone { get; set; }
    public string Company { get; set; }
    public string AdditionalInformation { get; set; }
    public HttpPostedFileBase ProjectInformation { get; set; }
     }
 }

そして作成する

@Html.TextBox(null, null, new { type="file", @class="input-file" })

しかし、うまくいきません。いくつかの例外があります。どうしたの?

4

7 に答える 7

5

フォームタグで enctype を指定していないため、null になっていると思います。

@using (Html.BeginForm("ActionMethodName", "Controller", FormMethod.Post, new { enctype = "multipart/form-data" })) { }

実際の例は常に役立ちます。

http://www.mindstick.com/Articles/cf1e1dd9-fdba-4617-94f0-407223574447/?Upload%20File%20in%20Asp.Net%20Mvc%204 にアクセスしてください。

于 2014-09-04T07:06:00.580 に答える
3

以下の構文を使用できます

@Html.TextBoxFor(model=>model.Email, new { @type="file", @class="input-file" })
于 2014-04-18T17:20:09.620 に答える
2

を使用してこの問題を解決しましたenctype="multipart/form-data"

@using (Html.BeginForm("SalvarEvidencia", "Evidencia", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    ...
}
于 2015-12-17T16:14:02.253 に答える
1

ビューで入力タグを直接使用しても問題はありません。ヘルパーを使用する必要はありません。

<input type="file" class="input-file" />

BeginForm 宣言ブロック内にあることを確認してください。

于 2013-05-20T07:58:16.513 に答える
0

フィールドの名前を指定する必要があります。名前も値も必要ない場合は、フィールドをそのままフォームに含めることをお勧めします。

動的なものがない場合、ヘルパーを使用しても意味がありません。

于 2013-05-20T07:38:25.593 に答える
-1
  @using (Html.BeginForm("Action_Name", "Controller_Name",FormMethod.Post))
   {
        @Html.TextBoxFor(m => m.Email, new {@class = "text_field"})
        @Html.ValidationMessageFor(m => m.Email)
   }
于 2015-10-21T12:45:04.613 に答える