将数据从视图传递给控制器,以获取MVC3中的呼叫



我有下拉列表,用于在视图中显示PageSize。例如

@Html.DropDownListFor(m => m.PageSize,
new List<SelectListItem>() { new SelectListItem() { Text = "10" }, 
new SelectListItem() { Text = "20" },
new SelectListItem() { Text = "50" },
new SelectListItem() { Text = "100" }
})

我必须在控制器操作中获取所选的项目值。

我的行动只会接受电话。我只是不想通过查询字符串。那么如何实现这一目标?

如果您想使用get传递它,恐怕您唯一的选择是查询字符串。

从W3.org规格中获取报价:

" get方法是指检索请求-URI标识的任何信息(以实体的形式)。"

我的想法是准备更动态的,然后将数据发送到模型。

<td>
@Html.DropDownListFor(m => m.CurrentVoucher, new System.Web.Mvc.SelectList(Model.OutgoingStatusList, "Value", "Text"), new { style = "width:140px" })
</td>
------------
model.OutgoingStatusList = new List<SelectListItem>();
------------
model.KidsList = new List<SelectListItem>();
            for (int i = 0; i <= 20; i++)
                model.KidsList.Add(new SelectListItem { Value = i.ToString(), Text = i.ToString() });

模型将获得价值" M.CurrentVoucher"。只有示例(我从我的笔记中获取)和" model.kidslist",您可以更改为" model.outoveStatus"您可以更改名称。阅读我希望我有帮助的这个示例。

如果您对使用Querystring的厌恶是手动构建URL的,然后用Method =" Get"将其包裹起来,这样您仍然可以使用诸如下拉列表的控件,但是它们'在提交表格时,会自动将其转变为Querystring。

最新更新