2012-03-08 12 views
0

利用可能な各アイテムについて、部分ビューをレンダリングします。部分ビューでは、チェックボックスが表示されます。その目的は、ユーザーが複数の項目を一度に選択できるようにすることです。そして、削除を押すと、選択されたすべての項目が削除されます。部分ビューのチェックボックスは、現在のフォーム内にはありません。チェックボックスを含むRenderPartialビュー。

<%= Html.CheckBox("IsSelected", Model.IsSelected)%> 

したがって、正しく表示されますが、何もしません。

私は以前に、モデルからチェックボックスへの値のバインドについて質問しましたが、うまくいきました。私がやった:

<%= Html.CheckBox("["+itemx+"].IsSelected", x.IsSelected) %> 

しかし、今私はすべて一緒にこれを結ぶと部分ビューから値を取得する方法を疑問に思った部分図を作成する必要がありますか?

ありがとうございました。

答えて

2

@Felipe:あなたの答えはwroではありませんしかし、小さなパフォーマンスの向上は、ループ内でHtml.Partialを呼び出さないことです。

代わりに、Html.Partialオブジェクトを呼び出して、IEnumerableをモデルとして渡し、その部分的なビューの項目をループします。このトピックに関する

さらに詳しい情報:ヘルプフェリペためhttp://channel9.msdn.com/Series/mvcConf/mvcConf-2-Steven-Smith-Improving-ASPNET-MVC-Application-Performance

+0

リンクのための乾杯 – TBD

1

あなたはASPX Viewエンジンを使用していて、私の例ではRazorを使用しているようですが、コンセプトは同じですが、sintaxeを調整してください。私はあなたの前の質問に答えている

@model IEnumerable<SandboxMvcApplication.Models.Item> 

@{ 
    ViewBag.Title = "Checkboxes"; 
} 

@foreach (var item in Model) 
{ 
    <li><input type="checkbox" name="items" value="@item.Id" />@item.Title</li> 
} 

あなたの部分図のレンダリング周り

<form action="@Url.Action("ProcessForm")" method="post"> 
    <ul> 
     @Html.Partial("Checkboxes", Model) 
    </ul> 

    <input type="submit" value="Send selected items"/> 
</form> 

部分ビュー(〜/ビュー/ホーム/ Checkboxes.cshtml)のフォームを入れて

Asp.net MVC get fully qualified URL to an action methodアクションに複数のアイテムを送信する方法については、この質問のレンダリングのチェックボックスを少し変更しました。

+0

おかげで、あなたの説明の後にはかなり簡単でした。 – TBD

関連する問題