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>

我有一个例外:

值不能为空。参数名称:items

我想我必须检查用户是否选择了一个值或发出警报,但我不知道如何做到这一点。

4

1 回答 1

2

TypeID如果您想处理下拉列表 ( ) 中未选择的情况,您应该为视图模型上的属性使用可为空的类型"-- Select Event Type --"

public int? TypeID { get; set; }

您收到异常是因为如果用户未在下拉列表中选择任何选项,则使用默认选项:

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

请注意该值如何为空字符串。这显然不能绑定到模型上的不可为空的整数类型。

于 2012-08-08T16:29:49.360 回答