我会在第一个页面加载时发送列表框的所有内容(如果对您可行),并使用 jquery 在列表之间移动项目(因此不再需要 ajax 调用)
并将项目发送回服务器,如下例所示:
@using (Html.BeginForm()) {
@Html.TextBox("movies")
@Html.TextBox("movies")
@Html.TextBox("movies")
<input type=submit />
}
我们使用 Html.TextBox 帮助器创建了三个输入元素;这些都将使用名称属性的电影值创建,如下所示:
<input id="movies" name="movies" type="text" value="" />
<input id="movies" name="movies" type="text" value="" />
<input id="movies" name="movies" type="text" value="" />
我们可以使用示例 17-11 中所示的操作方法接收用户输入的值。清单 17-11。在一个动作方法中接收多个数据项
[HttpPost]
public ViewResult Movies(List<string> movies) {
...
模型绑定器将找到用户提供的所有值并将它们传递给 List 中的 Movies 操作方法。binder 足够智能,可以支持不同的参数类型;我们可以选择以 string[] 甚至 IList 的形式接收数据。
来自 Apress Pro ASP.NET MVC 3 书