2016-08-13 65 views
-1

私はいくつかのボックスを選択し、それらに関連する文字列を送信したいと思っています。しかし問題はコントローラの値をキャッチする方法がわからないことです。asp.net mvc Html.Checkboxから値を取得する

重要な問題の1つは、モデルにバインドしたくないということです。

@model IEnumerable<WebApplication1.Models.WikiPage> 
@using (Html.BeginForm("DeletePages", "Home", FormMethod.Post)) 
{ 
<ul> 
    @foreach (var item in @Model) 
    { 
     <li> 
      @Html.CheckBox(item.Title) 
      @Html.Label(item.Title) 
     </li> 
    } 
</ul> 
<input type="submit" value="Delete pages" /> 
} 

そして、ここでは、コントローラ内の一部です:うまくいけば、私はこの画像で

CSHTMLファイルに合った解決策を見つけることができます。文字列が... nullになりますと、私は値

[HttpPost] 
    public ActionResult DeletePages(String... Titles) 
    { 

     removePages(Titles); 
     List<WikiPage> pages = db.WikiPages.ToList(); 

     return View(pages); 
    } 

は、あなたが私を助けることを願ってキャッチするためにそこに置くべきかわかりません!

種類は

+1

'@ Html.CheckBoxは()' 'bool'、ない文字列に結合するためのものです。文字列の配列をポストバックしたい場合は、入力を手動で生成する '

答えて

0

ビューについて:

@model IEnumerable<WebApplication1.Models.WikiPage> 
@using (Html.BeginForm("DeletePages", "Home", FormMethod.Post)) 
{ 
<ul> 
    @foreach (var item in Model) 
    { 
     <li> 
      <label>@item.Title 
       <input type="checkbox" name="titles" value="@item.Title /> 
      </label> 
     </li> 
    } 
</ul> 
<input type="submit" value="Delete pages" /> 
} 

コントローラー:

[HttpPost] 
public ActionResult DeletePages(string[] titles) 
{ 
    removePages(titles); 
    List<WikiPage> pages = db.WikiPages.ToList(); 

    return View(pages); 
} 
関連する問題