0

dropdownlistfor次のように、ユーザーが値を選択せず​​にフォームを送信すると、例外が発生しました。

    <div class="editor-field">
        @Html.DropDownListFor(
            x => x.TypeID,
            new SelectList(ViewBag.EventType, "ID", "Name"),
            "-- Select Event Type --"
            )
        @Html.ValidationMessageFor(model => model.TypeID)
    </div>

例外が発生しました:

値をnullにすることはできません。パラメータ名:items

ユーザーが値を選択したかどうかを確認するか、アラートを作成する必要があると思いますが、その方法がわかりません。

4

1 に答える 1

2

ドロップダウンリスト( )TypeIDで選択されていないケースを処理する場合は、ビューモデルのプロパティにnull許容型を使用する必要があります。"-- Select Event Type --"

public int? TypeID { get; set; }

ユーザーがドロップダウンでオプションを選択しなかった場合、デフォルトのオプションが使用されるため、例外が発生します。

<option value="">"-- Select Event Type --"</option>

値が空の文字列であることに注意してください。これは明らかに、モデルのnull許容でない整数型にバインドすることはできません。

于 2012-08-08T16:29:49.360 に答える