2016-11-12 22 views
0

チェックボックスの項目は非常にうまく機能します。しかし、私は、ドロップダウンリストとして表示する必要がドロップダウンリスト(MVC)のチェックボックス項目を表示

ここBookViewModel.cs内のリストこれはCheckBoxViewModel.cs

ある

public List<CheckBoxViewModel> Authors { get; set; } 

(私のビューに表示モデルが)です

public class CheckBoxViewModel 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public bool Checked { get; set; } 
} 

このマイコンは、に項目を追加します。投稿者checkboxViewModel

var Results = from b in db.author 
         select new 
         { 
          b.authorID, 
          name = b.first_name + " " + b.middle_name + " " + b.last_name, 

         }; 
     var MyViewModel = new BooksViewModel(); 

     var MyCheckBoxList = new List<CheckBoxViewModel>(); 
     foreach (var item in Results) 
     { 
      MyCheckBoxList.Add(new CheckBoxViewModel { Id = item.authorID, Name = item.name}); 
     } 

     MyViewModel.Authors = MyCheckBoxList; 

、最終的にはこれは私が私の見解でチェックボックス項目を表示する方法あるCreate.cshtml

<div class="form-group"> 
        @Html.LabelFor(model => model.Authors, ": المؤلف/ المؤلفين", htmlAttributes: new { @class = "control-label col-md-4" }) 
        <div class="col-md-6"> 

         <div style="text-align:right"> 
          @for (int i = 0; i < Model.Authors.Count(); i++) 
          { 

           @Html.DisplayFor(m => Model.Authors[i].Name) <text> </text> 
           @Html.EditorFor(m => Model.Authors[i].Checked) 

           @Html.HiddenFor(m => Model.Authors[i].Name) 
           @Html.HiddenFor(m => Model.Authors[i].Id) 
           <br /> 
          } 
         </div> 
         <text class="text-danger"> @ViewBag.empty_authors</text> 
         @Html.ActionLink("مؤلف جديد ", "CreateAuthor", "books", new { Model }, new { @class = "modal-link btn btn-success", @style = "font-size:20px" })<br /> 
        </div> 
        <div class="col-md-4"> 
         @*@Html.ListBoxFor(model => model.authorID, new SelectList(ViewBag.authorID, "a_id", "fullname"), htmlAttributes: new { @multiple = "multiple", @class = "form-control" })*@ 



         @Html.ValidationMessageFor(model => model.Authors, "", new { @class = "text-danger" }) 
        </div> 
        </div> 

私はまで私のコード内までの任意のjQuery /スクリプトを使用していないpleaeseノート今、コントローラにC#を使用してドロップダウンリストにチェックボックス項目を表示する方法があれば、それが望ましいでしょう。

ありがとうございます。

PS。 JavaScriptを使用したソリューションがある場合は、詳細を記述してください。


編集:私はCreate.cshtmlビューの著者の私のリストが含まれているのdivの高さを修正し、私はそれがy軸でスクロールできるようにすることを可能にすることを決めた 、Iそれは私の問題のために許容可能な解決策を見つけるので、余分なjavascriptコードの必要はありません。

+0

適切なjqueryプラグインを見つけたり、あなた自身を書いたりしない限り、そうではありません。 –

答えて

0

できない場合は、そうするためにjqueryプラグインを見つけなければなりません。

関連する問題