Возврат нескольких списков выбора с одним действием - PullRequest
2 голосов
/ 09 августа 2011

Я хотел бы отобразить 2 списка выбора в одном представлении.Очевидно, что я могу использовать только 1 ActionResult для визуализации представления.

public ActionResult IndexStudents(Docent docent, int lessonid, int classid)
        {
            return View(new SelectList(docent.ReturnStudentsNormalAsString(lessonid, classid)));
            return View(new SelectList(docent.ReturnStudentsNoClassAsString(lessonid, classid)));            
        }

Но, конечно, это не работает.Как я мог это исправить?Может быть, использовать словарь?

Я хочу, чтобы мой вывод выглядел следующим образом:

<div class="editor-field">
                     <%: Html.DropDownList("IndexStudentsNormal", 
                    Model as SelectList) %> 
 </div>
<div class="editor-field">
                     <%: Html.DropDownList("IndexStudentsNoClass", 
                    Model as SelectList) %> 
 </div>

Так что я хотел бы использовать 2 модели, по одной для каждого списка выбора ... одну с нормальнымстуденты и один со студентами, которые не подписаны на уроки.

Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 09 августа 2011

Вы можете использовать ViewData или ViewBag, чтобы передать его для просмотра

    public ActionResult IndexStudents(Docent docent, int lessonid, int classid)
    {
        ViewData["list1"] = new SelectList(docent.ReturnStudentsNormalAsString(lessonid, classid)));
        ViewData["list2"] = (new SelectList(docent.ReturnStudentsNoClassAsString(lessonid, classid)));
        return View();            
    }

Тогда в поле зрения

<div class="editor-field">
                     <%: Html.DropDownList("IndexStudentsNormal", 
                    ViewData["list1"] as SelectList) %> 
 </div>
<div class="editor-field">
                     <%: Html.DropDownList("IndexStudentsNoClass", 
                    ViewData["list2"] as SelectList) %> 
 </div>
0 голосов
/ 09 августа 2011

Вам нужно определить модель с двумя списками выбора:

// new class in your project
public class SelectListModel
{
    public SelectList SL1 { get; set; }
    public SelectList SL2 { get; set; }
}


// updated version of your ActionResult    
public ActionResult IndexStudents(Docent docent, int lessonid, int classid)
{
    var myslm = new SelectListModel 
    {
        SL1 = new SelectList(docent.ReturnStudentsNormalAsString(lessonid, classid),
        SL2 = new SelectList(docent.ReturnStudentsNoClassAsString(lessonid, classid)
    };
    return View(myslm);
}


// updated view code
<div class="editor-field">
    <%: Html.DropDownList("IndexStudentsNormal", Model.SL1 as SelectList) %>  
</div>
<div class="editor-field">
    <%: Html.DropDownList("IndexStudentsNoClass", Model.SL2 as SelectList) %>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...