私はあなたが必要としているものを正確に理解していませんでしたが、おそらくユーザがチェックボックスなどを使って項目を選択していると思います。
答えは、このリンクを次のようになります。CheckboxList in MVC3.0
基本的にあなたがされなければならない何をすべきか:リストまたはIEnumerableをアイテムを受け取るアクションを作成し、その行動に投稿するフォームを置きます。
私は助けることができる、あまりにもサンプルコードを作った:あなたのコントローラは可能性があり
using System;
namespace SandboxMvcApplication.Models
{
public class Item
{
public int Id { get; set; }
public string Title { get; set; }
}
}
:
public class HomeController : Controller
{
List<Item> itemList = new List<Item>() {
new Item() { Id = 1, Title = "Item 1" },
new Item() { Id = 2, Title = "Item 2" },
new Item() { Id = 3, Title = "Item 3" }
};
public ActionResult Index()
{
return View(itemList);
}
public ActionResult ProcessForm(int[] items)
{
var selectedItems = new List<Item>();
foreach (var item in items)
{
selectedItems.AddRange(itemList.Where(i => i.Id == item));
}
return View("Success", selectedItems);
}
}
アンインデックス表示(〜/
をあなたがアイテムのモデルを持つことができますViews/Home/Index.cshtml):
@model List<SandboxMvcApplication.Models.Item>
@{
ViewBag.Title = "Home Page";
}
<form action="@Url.Action("ProcessForm")" method="post">
<ul>
@foreach (var item in Model)
{
<li><input type="checkbox" name="items" value="@item.Id" />@item.Title</li>
}
</ul>
<input type="submit" value="Send selected items"/>
</form>
最後に、ユーザーが選択したアイテムを表示する成功ビュー:
@model List<SandboxMvcApplication.Models.Item>
@{
ViewBag.Title = "Success";
}
<h2>Success: Selected items were</h2>
<ul>
@foreach (var item in Model)
{
<li>@item.Id => @item.Title</li>
}
</ul>
こんにちはフェリペは応答に感謝します。現在のWebページを変更するのではなくダイアログに返されたページを表示するjquery関数の引数として渡すことができるように、ActionResultの戻り値を取得する必要があります。以前は私が使用していました: onclick = "'myjquery.showInDialog(Url.Action(" CheckItem "、new {isCorrect = true、id = 2}))" " これは、Webページをポップアップで表示しました。しかし、今私は同じフォームを提出しなければならないので、私はどのようにこれを行うことができ、返信を返すことができるだろうと思っていた。 – TBD