Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何在MVC5中重新排列下拉列表?_Asp.net Mvc_Asp.net Mvc 5 - Fatal编程技术网

Asp.net mvc 如何在MVC5中重新排列下拉列表?

Asp.net mvc 如何在MVC5中重新排列下拉列表?,asp.net-mvc,asp.net-mvc-5,Asp.net Mvc,Asp.net Mvc 5,在我的MVC5应用程序中,我有一个下拉列表,它是一个从1到10的评分量表,但是10只是略低于1,而不是在列表的末尾。因此,列表运行1、10、2、3等。是否有纠正方法?我的列表不是硬编码的,它是从数据库填充的 下面是下拉列表中我的MVC代码: @Html.LabelFor(model => model.Rating, "Rating", new { @class = "control-label col-md-4" }) @Html.DropDownList("Rating", Strin

在我的MVC5应用程序中,我有一个下拉列表,它是一个从1到10的评分量表,但是10只是略低于1,而不是在列表的末尾。因此,列表运行1、10、2、3等。是否有纠正方法?我的列表不是硬编码的,它是从数据库填充的

下面是下拉列表中我的MVC代码:

@Html.LabelFor(model => model.Rating, "Rating", new { @class = "control-label col-md-4" })

@Html.DropDownList("Rating", String.Empty)
@Html.ValidationMessageFor(model => model.Rating)

在转换到下拉列表之前,只需对它们进行排序

var values = db.Rating.OrderByDescending(o => o.Rate).ToList(); 
var dropdownlist = values.Select(s => new SelectListItem{Value = s.Rate.ToString(), Name = s.Name}).ToList(); 
ViewBag.List = dropdownlist;

//in your view
Html.DropwDownList("Rating", (List<SelectListItem>)ViewBag.List);

在转换到下拉列表之前,只需对它们进行排序

var values = db.Rating.OrderByDescending(o => o.Rate).ToList(); 
var dropdownlist = values.Select(s => new SelectListItem{Value = s.Rate.ToString(), Name = s.Name}).ToList(); 
ViewBag.List = dropdownlist;

//in your view
Html.DropwDownList("Rating", (List<SelectListItem>)ViewBag.List);

在转换到下拉列表之前,只需对它们进行排序

var values = db.Rating.OrderByDescending(o => o.Rate).ToList(); 
var dropdownlist = values.Select(s => new SelectListItem{Value = s.Rate.ToString(), Name = s.Name}).ToList(); 
ViewBag.List = dropdownlist;

//in your view
Html.DropwDownList("Rating", (List<SelectListItem>)ViewBag.List);

在转换到下拉列表之前,只需对它们进行排序

var values = db.Rating.OrderByDescending(o => o.Rate).ToList(); 
var dropdownlist = values.Select(s => new SelectListItem{Value = s.Rate.ToString(), Name = s.Name}).ToList(); 
ViewBag.List = dropdownlist;

//in your view
Html.DropwDownList("Rating", (List<SelectListItem>)ViewBag.List);


通过将值转换为整数而不是字符串,在服务器上对其进行排序,然后返回集合。下拉列表中的项目将按照您从数据库返回它们的相同顺序呈现。数据库中的我的值是tinyint,表示评级索引,nvarchar表示评级表中的评级,这与我的主表中的评级值相同。我尝试更改评级表中的下拉顺序,但它只是恢复为1、10、2等。在服务器上,通过将值转换为整数而不是字符串,然后返回集合。下拉列表中的项目将按照您从数据库中返回它们的相同顺序呈现。数据库中的“我的”值对于评级索引为tinyint,对于评级表中的评级为nvarchar,这与我的主表中的评级值相同。我尝试更改评级表中的下拉顺序,但它只是恢复为1、10、2等。在服务器上,通过将值转换为整数而不是字符串,然后返回集合。下拉列表中的项目将按照您从数据库中返回它们的相同顺序呈现。数据库中的“我的”值对于评级索引为tinyint,对于评级表中的评级为nvarchar,这与我的主表中的评级值相同。我尝试更改评级表中的下拉顺序,但它只是恢复为1、10、2等。在服务器上,通过将值转换为整数而不是字符串,然后返回集合。下拉列表中的项目将按照您从数据库中返回它们的相同顺序呈现。数据库中的“我的”值对于评级索引为tinyint,对于评级表中的评级为nvarchar,这与我的主表中的评级值相同。我尝试更改评级表中的下拉顺序,但它又恢复为1、10、2等。感谢您的回答Vsevolod,我对这一点非常陌生,您能告诉我前三行代码放在哪里吗?@Scanner前两行应该在您的控制器或服务中,或者在您获取数据的任何地方。第三行是你的控制器动作,太棒了,再次感谢Vsevolod。抱歉,这是一个有害程序,它为我的列表排序,但10仍然是第二项而不是最后一项。@您是否有一个作为字符串或int的分级属性?有两个表,分级表的分级索引是一个很小的int和一个nvarchar,使用保存的评级值填充的主表有一个评级字段,该字段也是您答案的nvarcharThanks Vsevolod,我对此非常陌生,您能告诉我前三行代码放在哪里吗?@Scanner前两行应该在您的控制器或服务中,或者在您获取数据的任何地方。第三行是你的控制器动作,太棒了,再次感谢Vsevolod。抱歉,这是一个有害程序,它为我的列表排序,但10仍然是第二项而不是最后一项。@您是否有一个作为字符串或int的分级属性?有两个表,分级表的分级索引是一个很小的int和一个nvarchar,使用保存的评级值填充的主表有一个评级字段,该字段也是您答案的nvarcharThanks Vsevolod,我对此非常陌生,您能告诉我前三行代码放在哪里吗?@Scanner前两行应该在您的控制器或服务中,或者在您获取数据的任何地方。第三行是你的控制器动作,太棒了,再次感谢Vsevolod。抱歉,这是一个有害程序,它为我的列表排序,但10仍然是第二项而不是最后一项。@您是否有一个作为字符串或int的分级属性?有两个表,分级表的分级索引是一个很小的int和一个nvarchar,使用保存的评级值填充的主表有一个评级字段,该字段也是您答案的nvarcharThanks Vsevolod,我对此非常陌生,您能告诉我前三行代码放在哪里吗?@Scanner前两行应该在您的控制器或服务中,或者在您获取数据的任何地方。第三行是你的控制器动作,太棒了,再次感谢Vsevolod。抱歉,这是一个有害程序,它为我的列表排序,但10仍然是第二项而不是最后一项。@您是否有一个作为字符串或int的分级属性?有两个表,分级表的分级索引是一个很小的int和一个nvarchar,使用保存的评级值填充的主表有一个评级字段,该字段也是nvarchar