如何訪問我的控制器中我的視圖的下拉列表的值?如何訪問我的控制器中我的視圖的下拉列表的值?
var typeList = from e in db.Rubrics where e.DepartmentID == 2 select e;
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 a category";
selectedrubrics.Value = "1";
selectedrubrics.Selected = true;
iliSLI.Add(selectedrubrics);
for(int i = 0;i<rubricsList.Count();++i)
{
iliSLI.Add(new SelectListItem() {
Text = rubricsList[i], Value = i.ToString(), Selected = false });
}
ViewData["categories"] = iliSLI;
在我看來,這正常顯示的下拉值:
@Html.DropDownList("categories")
然後在我的控制,我使用FormCollection
這樣的:
String[] AllGradeCategories = frmcol["categories"].Split(',');
當我把一個斷點在這裏,我在AllGradeCategories中得到1的數組。我究竟做錯了什麼?
更多: 這是我開始形式:
@using (Html.BeginForm("History", "Attendance",
new {courseID = HttpContext.Current.Session ["sCourseID"] },
FormMethod.Post, new { @id = "formName", @name = "formName" }))
{
<td>
@Html.TextBoxFor(modelItem => item.HomeworkGrade, new { Value = "7" })
@Html.ValidationMessageFor(modelItem => item.HomeworkGrade)
</td>
<td>
@Html.TextBoxFor(modelItem => item.attendanceCode, new { Value = "1" })
@Html.ValidationMessageFor(model => model.Enrollments.FirstOrDefault().attendanceCode)
</td>
<td>
@Html.EditorFor(modelItem => item.classDays)
</td>
<td>
@Html.DropDownList("categories")
</td>
}
我控制器簽名:
public ActionResult ClassAttendance(InstructorIndexData viewModel, int id, FormCollection frmcol, int rows, String sTeacher, DateTime? date = null)
組織編寫 試過,但儘管它似乎變得貼的我還是不明白隱藏字段或類別參數中列表的值。
@Html.Hidden("dropdownselected1");
@Html.DropDownList("categories",ViewBag.categories as SelectList, new { onchange = "changed" })
</td>
$(function() {
$("#dropdownselected1").val($("#categories").val());
});
請分享您的更多視圖(特殊形式)和您的行動方法簽名。我們可以理清這一點。 – 2013-02-20 04:29:10
我加入了我原來的帖子。 – CloudyKooper 2013-02-20 04:48:07
這有助於。我沒有看到你的模型的定義,它是如何發送到查看,或者它如何被約束來查看 – 2013-02-20 05:02:05