사용하여 목록 상자를 만듭니다의 asp.net MVC : 내보기에 현재의 에러가 발생하고있어 formcollection
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<ProjectenII.Models.Domain.StudentModel>"%>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
IndexStudents
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>IndexStudents</h2>
<%using (Html.BeginForm()) { %>
<%=Html.ListBoxFor(model => model.NormalSelected, new MultiSelectList(Model.NormalStudentsList, "StudentNummer", "Naam", Model.NormalSelected), new { size = "6" }); %>
<input type="submit" name="add"
id="add" value=">>" /><br />
<input type="submit" name="remove"
id="remove" value="<<" />
<%=Html.ListBoxFor(model => model.NoClassSelected, new MultiSelectList(Model.StudentsNoClassList, "StudentNummer", "Naam", Model.NoClassSelected)); %>
<% } %>
<%=Html.HiddenFor(model => model.Save) %>
<input type="submit" name="apply" id="apply" value="Save!" />
</asp:Content>
그것은 listboxfor() 메소드에서 나에게 오류를 제공합니다 ... "예상)"라고.
그러나 모든 시작 태그를 닫습니다 ... 매우 이상합니다! 사용할 항목 : 한 목록 상자에서 다른 목록 상자로 항목을 이동 한 다음 데이터베이스를 업데이트하려고합니다. 그래서 다른 방법이 없다면 formCollection을 사용하여 그것을하고 싶습니다.
학생은 "classID"라는 필드가 있습니다. 데이터베이스를 업데이트 할 때 해당 값을 현재 값에서 "0"으로 변경해야합니다. 가장 좋은 방법은 formCollections를 사용하는 것이라고 생각합니까? 그렇지 않니?
public ActionResult IndexStudents(Docent docent, int id, int klasgroepid)
{
var studentModel = new StudentModel
{
NormalStudentsList = docent.GeefStudenten(id, klasgroepid),
StudentsNoClassList = docent.GeefStudenten(id, klasgroepid)
};
return View(studentModel);
}
나는 두 가지 질문이 있습니다 : 어떻게 오류를 해결할 수 이 내 StudentModel
public class StudentModel
{
public IEnumerable<Student> NormalStudentsList { get; set; }
public IEnumerable<Student> StudentsNoClassList { get; set; }
public string[] NormalSelected { get; set; }
public string[] NoClassSelected { get; set; }
public string Save { get; set; }
}
컨트롤러입니까? 그리고 어떻게 데이터베이스를 업데이트 할 수 있습니까?
"UpdateModel()"을 사용하는 것이 좋습니다 ...?
미리 감사드립니다.