我在哪里可以找到dropdownlistfor的默认剃刀编辑器模板?

时间:2011-12-27 22:12:54

标签: c# asp.net asp.net-mvc asp.net-mvc-3 open-source

我想创建一个自定义控件(部分视图,模板),并使其功能类似于html.dropdownlistfor(),其中需要选择一个集合,而另一个字段用于保存所选值。为此,我想查看dropdownlistfor的代码。由于ASP.NET MVC是开源的,我在哪里可以找到dropdownlistfor的代码/ razor标记?

4 个答案:

答案 0 :(得分:3)

DropdownListFor不使用模板。它只是一个带选项的选择标签。 DropDownListFor和DropDownList是相同的,除了DropDownListFor使用强类型的lambda表达式。它们都生成相同的html。

答案 1 :(得分:1)

它位于MVC源代码中的SelectExtensions

SelectExtensions.cs

如果您要求提供源代码,可以在codeplex here处获取。

答案 2 :(得分:1)

答案 3 :(得分:0)

为什么需要“另一个字段来保存所选值。”?

  List<SelectListItem> items = new List<SelectListItem>();
        items.Add(new SelectListItem { Text = "Action", Value = "0" });
        items.Add(new SelectListItem { Text = "Drama", Value = "1" });
        items.Add(new SelectListItem { Text = "Comedy", Value = "2", Selected = true });
        items.Add(new SelectListItem { Text = "Science Fiction", Value = "3" });

如您所见,SelectListItem有一个Selected字段。我有一个可以发送给你的待定DDL教程。它有一个示例,您可以在DDL旁边使用文本输入为DDL添加新类别。这是在jQuery中实现的。代码在Using the DropDownList and ListBox with ASP.NET MVC向我发送电子邮件,我会向您发送教程。 ricka.anderson [在] microsoft.com