0

ビューで現在エラーが発生しています:

<%@ 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() メソッドでエラーが発生します... ") expected" と言っています。

しかし、私はすべての開始タグを閉じます...しかし、非常に奇妙です! 用途: あるリストボックスから別のリストボックスに項目を移動してからデータベースを更新したい。別の方法がない限り、formCollectionを使用してやりたいですか?

学生には「classID」という名前のフィールドがあり、データベースを更新すると、その値を現在の値から「0」に変更する必要があります。formCollectionsを使用するのが最善の方法だと思いますか? ではない?これは私の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; }
    }

コントローラ:

 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);
        }

2 つの質問があります。エラーを修正するにはどうすればよいですか? また、データベースを更新するにはどうすればよいですか?

「UpdateModel()」を使用することをお勧めします... ?

前もって感謝します!!

4

1 に答える 1

1

モデルをデータベースに永続化するために使用しているコードが含まれていなかったため、2番目の質問が何であるかわかりません。

「)」の予想されるエラーは、ListBoxForメソッド呼び出しの最後にセミコロンがあるためです。

次のようになります。

<%=Html.ListBoxFor(model => model.NormalSelected, new MultiSelectList(Model.NormalStudentsList, "StudentNummer", "Naam", Model.NormalSelected), new { size = "6" }) %>

<%=を使用する場合、セミコロンは必要ありません。

于 2011-08-19T20:21:56.543 に答える