我不明白你需要什么,但我认为你有一些项目选择从用户可能使用复选框或任何。
答案可能是此链接: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