我有下拉列表,用于在视图中显示页面大小。
的例子@Html.DropDownListFor(m => m.PageSize,
new List<SelectListItem>() { new SelectListItem() { Text = "10" },
new SelectListItem() { Text = "20" },
new SelectListItem() { Text = "50" },
new SelectListItem() { Text = "100" }
})
我必须在控制器操作中获取所选项目值。
我的行动只接受来电。我只是不想传递查询字符串。那么如何实现呢?
答案 0 :(得分:2)
答案 1 :(得分:1)
我的想法是准备更加动态并将数据发送到模型。
<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.OutgoingStatus”,您可以更改名称。阅读这个例子我希望我帮助过。
答案 2 :(得分:1)
如果你厌恶使用查询字符串是手动构建url,然后将其包装在一个方法=“get”的表单中,这样你仍然可以使用像下拉列表这样的控件,但它们会自动转换为查询字符串提交表格。