2011-08-09 9 views
2

2つのSelectListを1つのビューで表示したいと思います。つまり、私は1つのActionResultを使ってビューをレンダリングできます。複数の選択リストを1つのアクション結果で返します

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

もちろん、これは機能しません。どうすれば修正できますか?おそらく辞書を使用していますか?

私は私の出力は次のようになりたい:通常の学生と1とレッスンのために加入していない学生と1 ...

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

だから私は2つのモデル、各SelectListのための1つを使用したいです。

どうすればいいですか?

答えて

0

次の2つのSelectListsでモデルを定義する必要があります。

// 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> 
0

あなたがビューに次に

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> 
ViewDataViewBagを使用することができます
関連する問題