0

有没有办法在 MVC 中创建一个下拉列表,为变量提供一个字符串值,而不仅仅是 ID?我在下拉列表中看到的所有内容都对其进行了设置,以便名称显示在下拉列表中,但变量始终获取 ID 值。有没有办法设置它,以便变量获取字符串值?

4

2 回答 2

0

如果您想选择 id 并获得一个值,@Jack 建议的效果会很好。如果您想获取选择的文本而不是值,您可以使用 jquery

$('.dropdown').change(function(){
     var result = $('.dropdown').text();
});

.val() 会给你选择的值, .text() 会给你选择的文本。希望这会有所帮助。

于 2013-09-30T23:04:01.893 回答
0

我想这可能是你要的..

您可以创建一个新的 SelectList 实例,第一个参数是您希望在下拉列表中显示的列表。第二个参数是您要用于选项标签值的属性,第三个参数是您要用于填充选项标签内的文本的属性。

在此示例中,我使用 ID 作为值,但您实际上会选择字符串值的任何属性。

控制器代码

public ActionResult Create()
{
   testDB.ContactTypes.Load();
   // "ID" is the property that we want to use for our option value
   // "Name" is the property that we want to use for the text inside of our tag
   ViewBag.ContactTypes = new SelectList(testDB.ContactTypes.Local.ToList(), "ID", "Name");
   return View();
}

剃刀

<div class="editor-field">
  @Html.DropDownListFor(model => model.ContactType , (SelectList)ViewBag.ContactTypes)
</div>
于 2013-10-01T13:40:47.820 回答