C# 下拉列表未选择正确的值

C# 下拉列表未选择正确的值,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,以下代码有什么问题 @Html.DropDownListFor(model => model.title, new List<SelectListItem> { new SelectListItem { Text = "Other" , Value = "Other"}, new SelectListItem { Text = "Mr", Value = "Mr" }, new SelectListItem { Text = "M

以下代码有什么问题

    @Html.DropDownListFor(model => model.title, new List<SelectListItem>
  {
      new SelectListItem { Text = "Other" , Value = "Other"},
      new SelectListItem { Text = "Mr", Value = "Mr" },
      new SelectListItem { Text = "Mrs", Value = "Mrs" },
      new SelectListItem { Text = "Ms", Value = "Ms" },
      new SelectListItem { Text = "Miss", Value = "Miss" }
    }, 
      new { @class = "form-control" })
@Html.DropDownListFor(model=>model.title,新列表
{
新建SelectListItem{Text=“Other”,Value=“Other”},
新建SelectListItem{Text=“Mr”,Value=“Mr”},
新建SelectListItem{Text=“Mrs”,Value=“Mrs”},
新建SelectListItem{Text=“Ms”,Value=“Ms”},
新建SelectListItem{Text=“Miss”,Value=“Miss”}
}, 
新的{@class=“表单控制”})
上面允许我选择值并将其保存到表中,但在进行编辑时,不会选择保存的值

例如,在编辑显示“其他”的现有数据时,使用“Mr”保存数据

为什么?

请尝试以下方式使用:

@Html.DropDownListFor(model => model.title, new SelectList(new List<SelectListItem>
  {
      new SelectListItem { Text = "Other" , Value = "Other"},
      new SelectListItem { Text = "Mr", Value = "Mr" },
      new SelectListItem { Text = "Mrs", Value = "Mrs" },
      new SelectListItem { Text = "Ms", Value = "Ms" },
      new SelectListItem { Text = "Miss", Value = "Miss" }
    },
    "Value",
    "Text",
     Model.Title), 
     new { @class = "form-control" })
这是最糟糕的

它在这一事业中起作用,但在上述事业中不起作用

  @Html.DropDownListFor(model => model.PreferredContact, new List<SelectListItem>
                                            {
                                            new SelectListItem { Text = "Other" },
                                            new SelectListItem { Text = "Telephone", Value = "Telephone" } ,
                                            new SelectListItem { Text = "Email", Value = "Email" },
                                            new SelectListItem { Text = "Post", Value = "Post" }
                                            }, new { @class = "form-control" })
@Html.DropDownListFor(model=>model.PreferredContact,新列表
{
新建SelectListItem{Text=“Other”},
新建SelectListItem{Text=“Telephone”,Value=“Telephone”},
新建SelectListItem{Text=“Email”,Value=“Email”},
新建SelectListItem{Text=“Post”,Value=“Post”}
},新的{@class=“form control”})
好的

我发现了问题


您不能将“title”作为名称。标题是HTML5上的一个属性。我将该字段重命名为dTitle,它可以工作

您是否检查了
模型中传递的内容。标题
?是,当我显示模型时显示“Mr”。title@LeBlues-不是在显示时,我是问当您绑定此视图时,您必须传递模型,对吗?在该模型中,所有权的价值是什么?如果财产
title
的价值为“Mr”,则将选择第二个选项。
  @Html.DropDownListFor(model => model.PreferredContact, new List<SelectListItem>
                                            {
                                            new SelectListItem { Text = "Other" },
                                            new SelectListItem { Text = "Telephone", Value = "Telephone" } ,
                                            new SelectListItem { Text = "Email", Value = "Email" },
                                            new SelectListItem { Text = "Post", Value = "Post" }
                                            }, new { @class = "form-control" })