Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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 3 如何在SelectListItem和DropDownList中删除此数据库值列表?_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc 3 如何在SelectListItem和DropDownList中删除此数据库值列表?

Asp.net mvc 3 如何在SelectListItem和DropDownList中删除此数据库值列表?,asp.net-mvc-3,Asp.net Mvc 3,嗨,我正在尝试使用以下方法从我的数据库创建一个列表,然后在我的视图中访问它们。这是我一直在尝试的 var rTypeList = from r in db.Rubrics where r.DepartmentID == 2 select r; var selectedRubrics = typeList.Select(r => r.Category); IList <String> rubricsList = selectedRubrics.ToList(); IList&l

嗨,我正在尝试使用以下方法从我的数据库创建一个列表,然后在我的视图中访问它们。这是我一直在尝试的

var rTypeList = from r in db.Rubrics where r.DepartmentID == 2 select r;
var selectedRubrics = typeList.Select(r => r.Category);
IList <String> rubricsList = selectedRubrics.ToList();

IList<SelectListItem> iliSLI = new List<SelectListItem>();

SelectListItem selectedrubrics = new SelectListItem();
selectedrubrics.Text = "Choose An Option";
selectedrubrics.Value = "1";
selectedrubrics.Selected = true;

iliSLI.Add(selectedrubrics);

ViewData["Options"] = iliSLI;
var rTypeList=来自db.Rubrics中的r,其中r.DepartmentID==2选择r;
var selectedRubrics=typeList.Select(r=>r.Category);
IList rubricsList=selectedRubrics.ToList();
IList iliSLI=新列表();
SelectListItem SelectedRubics=新建SelectListItem();
selectedrubrics.Text=“选择一个选项”;
selectedrubrics.Value=“1”;
selectedrubrics.Selected=true;
添加(选定的数据库);
ViewData[“选项”]=iliSLI;
在我看来,我有:
@Html.DropDownList(“选项”)


这将启动我的列表,但如何从列表中获取值…
IList rubricsList=selectedRubrics.ToList()…并将它们添加到我的下拉列表中?

您几乎已经解决了问题的困难部分

这是一种解释

在控制器端,您需要一个SelectListItem类型的列表。我已经将此列表传递给了我的ViewBag.DropDownData,在这里,您可以将其传递给您的模型,但我正在尝试使其尽可能简单。因此,将列表传递给viewbag

控制器代码

var myList = new List<SelectListItem>
{
new SelectListItem {Text = "Yasser", Value = "YS"},
new SelectListItem {Text = "Vaibhav", Value = "VS"},
new SelectListItem {Text = "Ramanjit", Value = "RS"}
};

ViewBag.DropDownData = myList;
var myList=新列表
{
新建SelectListItem{Text=“Yasser”,Value=“YS”},
新建SelectListItem{Text=“Vaibhav”,Value=“VS”},
新建SelectListItem{Text=“Ramanjit”,Value=“RS”}
};
ViewBag.DropDownData=myList;
现在在使用@Html.DropDownListFor()方法的视图中,第一个参数应该是在模型中声明的字符串/int(取决于您的值),稍后将在数据发布回控制器时使用该字符串/int。第二个参数是我们刚刚准备的列表,如果您使用的是模型,那么只需将模型传递到此处即可

剃须刀视图

@Html.DropDownListFor(m => m.ValueSelected, ViewBag.DropDownData as List<SelectListItem>)
@Html.DropDownListFor(m=>m.ValueSelected,ViewBag.dropdownlistdata作为列表)
就这样。您的下拉列表已准备就绪:),以下是我的代码输出:

输出


希望这能有所帮助。

您已经准备好了大部分部件。哪个部分让您感到困惑?是呈现下拉列表还是向控制器获取值?我想将IList rubricsList=SelectedRubics.ToList()添加到我的IList iliSLI=new List()中集合。要连接列表吗?谢谢,我将数据库值转换为字符串列表,然后使用for循环添加到SelectListItem集合。Yasser的代码为我提供了多个新SelectLisItem的想法。我通过添加新的SelectListItems循环遍历这些值。谢谢你们的帮助,伙计们!