0

モデルの値をドロップダウンリストで選択した値と一致させるにはどうすればよいですか?

ドロップダウンリストにモデルのプロパティ値を反映させたいと思います。すべてのドロップダウンリストに同じ値しか表示できませんでした。私はこれをやろうとしてきました:

@Html.DropDownList("searchString", Model.Enrollments.FirstOrDefault().WeekDays.Select(s => 
   new SelectListItem { Text = s.ToString(), Value = s.ToString(), 
   Selected = s.ToString().Equals(Model.Enrollments.FirstOrDefault().classDays) }))

しかし、運がありません。

私の登録モデルのスニペット:

    public string[] weekDays = new string[6] { "Day", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" };

    public string[] WeekDays

    {

        get { return weekDays; }

    }

私のビューのタイプは@modelSchoolIn.Models.Studentですが、別のモデルModel.Enrollmentsを挿入して、ドロップダウンリストの項目を最小化したいと思います。

  <table>
     <tr>
              @{
     int cnt = 0;
        List<SchoolIn.ViewModels.EnrolledCourseData> courses = ViewBag.Courses;

        foreach (var course in courses)
        {
            if (cnt++ % 4 == 0)
            {

                       @:  </tr> <tr>


             }
                       @: <td >  
                      <br /><br /><br />
                    <input type="checkbox"  
                           name="selectedCourses"  
                           value="@course.CourseID"  
                           @(Html.Raw(course.Assigned ? "checked=\"checked\"" : "")))

   />  


                    @*course.CourseID @:  @course.Title*@
                    @course.Title<br />  <br />

      if (Model.Enrollments != null)
      {



       @Html.DropDownList("searchString", Model.Enrollments.FirstOrDefault().WeekDays.Select(s => new SelectListItem { Text = s.ToString(), Value = s.ToString(), Selected = s.ToString().Equals(Model.Enrollments.FirstOrDefault().classDays) })) 

     }




                                 @:</td> 



       }
                                @:</tr> 

 }

          </table>
4

1 に答える 1

0
@Html.DropDownListFor( x => x.courseId, new SelectList(LookupUtils.AvailableCourcesList(), "Value", "Text", Model.courseId))

LookupUtils は次の静的クラスです。

public static List<SelectListItem> AvailableCourcesList()
{
    var dataContext = new YourDataContext(  );
    var data = dataContext.GetCourcesFn().ToList();

    var result = ( from res in data
                   select new SelectListItem()
                              {
                                  Text = res.courseName,
                                  Value = res.courseId.ToString()
                              } ).ToList();

    return result;
}
于 2012-10-01T05:19:02.663 に答える