В настоящее время у меня есть 2 списка, связывающие данные из базы данных в моем представлении... Я использовал пользовательскую модель представления, и она не является строго типизированной. Вот код:
<%@ 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>
<div class="editor-field">
<%: Html.ListBox("IndexStudentsNormal", Model.NormalStudentsList)%>
</div>
<input type="submit" name="add"
id="add" value=">>" />
<br />
<input type="submit" name="remove"
id="remove" value="<<" />
<div class="editor-field">
<%: Html.ListBox("IndexStudentsNoClass", Model.StudentsNoClassList)%>
</div>
<input type="submit" name="apply" id="apply" value="Save!" />
</asp:Content>
Что ж, теперь я хочу перемещать элементы между этими двумя списками с помощью двух кнопок (>>) и (‹‹). И когда пользователь нажимает кнопку «Применить», изменения должны быть записаны в базу данных.
СтудентМодель:
namespace ProjectenII.Models.Domain
{
public class StudentModel
{
public IEnumerable<SelectListItem> NormalStudentsList { get; set; }
public IEnumerable<SelectListItem> StudentsNoClassList { get; set; }
}
}
Контроллер:
public ActionResult IndexStudents(Docent docent, int id, int klasgroepid)
{
var studentModel = new StudentModel
{
NormalStudentsList = docent.GeefStudentenNormaalList(id, klasgroepid),
StudentsNoClassList = docent.GeefStudentenNoClassList(id, klasgroepid)
};
return View(studentModel);
}
Итак, как я могу получить выбранное значение одного списка и сохранить его в другом? И после этого изменения должны быть записаны в базу данных. Так что ОБНОВЛЯЙТЕ базу данных. Могу ли я использовать modelstate для обновления значений в базе данных?
Я не очень хорошо разбираюсь в asp.net mvc, поэтому надеюсь, вы меня поняли...
Заранее спасибо!!