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 如何将随机项传递到视图的下拉列表。_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc 如何将随机项传递到视图的下拉列表。

Asp.net mvc 如何将随机项传递到视图的下拉列表。,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我正在开发带有Razor语法的MCV应用程序。 我已经将元素传递到下拉列表,并且我想将任意随机项传递到视图,因为除了项之外,将选择下拉列表项。 下面的代码显示dropdow代码 控制器代码 视图代码 现在我想使用viewbag元素,它将选择下拉列表项之一。 如何做到这一点 有一个允许您指定要选择项目的id的: [SessionFilterAction] public ViewResult Details(int id) { int itemToBeSelectedInList = 5;

我正在开发带有Razor语法的MCV应用程序。 我已经将元素传递到下拉列表,并且我想将任意随机项传递到视图,因为除了项之外,将选择下拉列表项。 下面的代码显示dropdow代码

控制器代码

视图代码

现在我想使用viewbag元素,它将选择下拉列表项之一。 如何做到这一点

有一个允许您指定要选择项目的id的:

[SessionFilterAction]
public ViewResult Details(int id)
{
    int itemToBeSelectedInList = 5;
    ViewBag.HODList = new SelectList(
        db.Employees.Where(e => e.DesignationType == "HOD"), 
        "Id", 
        "FullName",
        itemToBeSelectedInList
    );
    return View(paymentadvice);
}

尽管如此,使用ViewBag是一种不好的做法,我建议您在视图中切换到使用视图模型和强类型帮助程序。

@Html.DropDownList选择带有选中标志的项目(SelectListItem.Selected=true)。 SelectList具有自动为指定项设置此标志的构造函数:

public SelectList(IEnumerable items, string dataValueField, string dataTextField, object selectedValue)
selectedValue应该是要选择的员工的id:

var employees = db.Employees.Where(e => e.DesignationType == "HOD").ToList();
var selectedEmployeeId = employess[5].Id;
ViewBag.HODList = new SelectList(employees, "Id", "FullName", selectedEmployeeId );

尝试使用相同的代码但不起作用…它显示默认值在下拉列表中选择的第一项尝试使用相同的代码但不起作用…它显示默认值在下拉列表中选择的第一项尝试将选择列表指定到下拉列表帮助器方法:@Html.DropDownList(“HODList”,(IEnumerable)ViewBag.HODList)
public SelectList(IEnumerable items, string dataValueField, string dataTextField, object selectedValue)
var employees = db.Employees.Where(e => e.DesignationType == "HOD").ToList();
var selectedEmployeeId = employess[5].Id;
ViewBag.HODList = new SelectList(employees, "Id", "FullName", selectedEmployeeId );