C# 在选择列表的DataTextField中设置默认值
我正在尝试更改下拉列表的SelectList构造函数中的默认选择,SelectList构造函数允许使用第三个参数,该参数是表示SelectList的DataTextField值的字符串,但当我尝试以下任一操作时:C# 在选择列表的DataTextField中设置默认值,c#,asp.net-mvc,razor,selectlist,C#,Asp.net Mvc,Razor,Selectlist,我正在尝试更改下拉列表的SelectList构造函数中的默认选择,SelectList构造函数允许使用第三个参数,该参数是表示SelectList的DataTextField值的字符串,但当我尝试以下任一操作时: new SelectList(new[] { 1, 2, 3, 4 }, Model.XXXX.xxxx, 3) new SelectList(new[] { 1, 2, 3, 4 }, Model.XXXX.xxxx, "3") 我得到一个错误: 最佳重载方法匹配有一些无效参数 我
new SelectList(new[] { 1, 2, 3, 4 }, Model.XXXX.xxxx, 3)
new SelectList(new[] { 1, 2, 3, 4 }, Model.XXXX.xxxx, "3")
我得到一个错误:
最佳重载方法匹配有一些无效参数
我不明白什么?在我看来,上面第二行应该可以工作,因为我给了它第三个字符串参数以显示在DataTextField中
作为一个次要的子问题,语法是什么
new[] { 1, 2, 3, 4 }
什么意思?我不熟悉C,新关键字后的括号对我来说是陌生的
SelectList sl = new SelectList( new[]{
new SelectListItem{ Text="one", Value="1"},
new SelectListItem{ Text="two", Value="2"},
new SelectListItem{ Text="three", Value="3"}
}, "Text", "Value", "3" );
对于你的另一个问题
新[]{1,2,3,4}
您基本上是在创建一个int数据类型数组,其元素为1、2、3和4
对于你的另一个问题
新[]{1,2,3,4}
基本上,您正在创建一个int数据类型数组,其元素为1、2、3和4,这是您用于SelectList的构造函数
public SelectList(
IEnumerable items,
string dataValueField,
string dataTextField
)
当SelectList通过视图呈现时,它只是HTML,因此您应该提供匿名数组作为字符串,dataValueField和dataTextField作为字符串。
从这个角度来看
1.
2.
3.
4.
用于SelectList的构造函数
public SelectList(
IEnumerable items,
string dataValueField,
string dataTextField
)
当SelectList通过视图呈现时,它只是HTML,因此您应该提供匿名数组作为字符串,dataValueField和dataTextField作为字符串。
从这个角度来看
1.
2.
3.
4.
SelectList构造函数的重载之一如下
SelectList(IEnumerable, String, String);
new SelectList(Model, "Data Value field", "Data text field");
IEnumerable->列表中的项目
字符串->数据值字段
字符串->数据文本字段
IEnumerable是新的[]{1,2,3,4},它基本上是一个整数数组,其元素为1,2,3和4
数据值字段是您的模型,文本字段是3
如果您试图从您的模型中创建一个选择列表,我建议您执行以下操作
SelectList(IEnumerable, String, String);
new SelectList(Model, "Data Value field", "Data text field");
例如:
如果您有一个学生模型Std_ID、Std_Name,并且您需要一个选择列表来显示学生名称并保存其ID的值
new SelectList(Model, "Std_ID", "Std_Name");
SelectList构造函数的重载之一如下
SelectList(IEnumerable, String, String);
new SelectList(Model, "Data Value field", "Data text field");
IEnumerable->列表中的项目
字符串->数据值字段
字符串->数据文本字段
IEnumerable是新的[]{1,2,3,4},它基本上是一个整数数组,其元素为1,2,3和4
数据值字段是您的模型,文本字段是3
如果您试图从您的模型中创建一个选择列表,我建议您执行以下操作
SelectList(IEnumerable, String, String);
new SelectList(Model, "Data Value field", "Data text field");
例如:
如果您有一个学生模型Std_ID、Std_Name,并且您需要一个选择列表来显示学生名称并保存其ID的值
new SelectList(Model, "Std_ID", "Std_Name");
可以通过绑定到模型特性来设置初始选定选项。如果您有一个属性,比如Number,并将其值设置为3,那么使用@Html.DropDownListForm=>m.Number,new SelectListnew[]{1,2,3,4}将选择第三个选项。这就是模型绑定的工作原理。您可以通过绑定到模型属性来设置初始选定选项。如果您有一个属性,比如Number,并将其值设置为3,那么使用@Html.DropDownListForm=>m.Number,new SelectListnew[]{1,2,3,4}将选择第三个选项。这就是模型绑定的工作原理。