我不明白你需要什麼,但我認爲你有一些項目選擇從用戶可能使用複選框或任何。
答案可能是此鏈接: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>
嗨菲利普感謝您的答覆。我需要獲取ActionResult返回值,以便我可以將它作爲參數傳遞給一個jquery函數,該函數將顯示在對話框中返回的頁面,而不是更改當前網頁。因此,我以前使用: onclick =「'myjquery.showInDialog(Url.Action(」CheckItem「,new {isCorrect = true,id = 2}))'' 然後在彈出窗口中顯示網頁。但現在我必須提交一份表格,所以我想知道我將如何做到這一點,並得到迴應。 – TBD 2012-03-09 10:48:56