我无法从所选项目dropdownList中获取值。 我需要将值传递给另一个视图。
视图模型:
public class HomeVM
{
public IEnumerable<SelectListItem> UserList { get; set; }
public IEnumerable<Examination> Exam { get; set; }
public string SelectedUser { get; set; }
}
控制器: (这里首先检查是否有任何有效的考试,它运作正常。)
public ActionResult Index()
{
var activeExam = db.Examinations.Where(o => (o.StartTime <= DateTime.Now && o.Duration > DateTime.Now)).ToList();
if(activeExam != null)
{
var hVM = new HomeVM { Exam = activeExam };
hVM.UserList = db.Users
.Select(o => new SelectListItem
{
Value = o.UserID.ToString(),
Text = o.Name
});
return View(hVM);
}
var nullHomeView = new HomeVM();
return View(nullHomeView);
}
查看: (我已经删除了我认为只是为了可读性而占用空间的代码,我已经删除了用于创建表和行等的代码)
@model ProjWebb.ViewModels.HomeVM
....
@if (Model.Exam != null)
{
foreach (var item in Model.Exam)
{
<tr>
<td width="20%">
@Html.DisplayFor(model => item.Cours.Name)
</td>
<td width="20%">
@Html.DisplayFor(model => item.ExamID)
</td>
<td width="20%">
@Html.DisplayFor(model => item.StartTime)
</td>
<td width="20%">
@Html.DropDownList("UserList")
</td>
我不知道如何获取所选值,尤其是在没有BeginForm
的情况下。
计划是只有一个链接,用户可以在下拉列表中选择名称时单击该链接,然后将该链接中的userID传递给控制器。
答案 0 :(得分:0)
hVM.UserList = db.Users
.Select(o => new SelectListItem
{
Value = o.UserID.ToString(),
Text = o.Name
},selectedUserId.Value);
您可以获取模型中的值以及您可以在此处设置的值。 as selectedUserId.value