将选择列表中的第一个元素设置为guid为空

时间:2012-12-29 15:31:17

标签: asp.net-mvc-3 guid

我有一个下拉列表如下: -

@Html.DropDownListFor(model => model.NewPipelineEaPersonId, new SelectList(Model.EaList, "PersonId", "FullName"), "Please select one", new { style = "width: 250px;" })

我的班级如下: -

public class LeadPipelineEntry
{
    [Required]
    public int PipelineTransactionId { get; set; }

    public Guid NewPipelineEaPersonId { get; set; }
}

此部分不需要Guid,但仍然会抛出必填字段错误。

此外,我不想将guid作为可以为空的参数

我知道选择字段可以做到这些。

但我可以将第一项“请选择一项”的值设为Guid.Empty吗?

我想在视图中管理它。

1 个答案:

答案 0 :(得分:0)

不,您不能将下拉列表的默认元素设置为空字符串以外的任何内容。 DropDownListFor帮助程序不支持这一点。应该是这样的。如果要在下拉列表中允许空值,则应在视图模型上使Guid可为空。

如果你无法在视图模型上使Guid可以为空,那么为下拉列表提供默认选项("Please select one")是完全没有意义的。

您可以编写一个自定义DropDownList帮助程序,它将提供除空字符串以外的一些默认值或手动生成选择 - 两种方法都是同样错误。