【发布时间】:2015-05-13 06:29:33
【问题描述】:
我有客户列表,其中包含所有详细信息,例如 客户 ID、名字、姓氏
GetAllCustomer() method code
var customer = from d in dbContext.Customers
select d;
return customer.ToList();
在 Index.cs 中 我已将名字绑定到下拉列表
var customerData =GetAllCustomer();
ViewBag.customerfirstname = new SelectList(customerData.Select(t=>t.firstname));
index.cshtml
@using (Html.BeginForm("Index", "Home", FormMethod.Get))
{
<p>
customer name : @Html.DropDownList("customerfirstname", "All")
<input type="submit" value="Filter" />
</p>
}
当我从下拉列表中选择任何名字并单击提交时 我也想要它的 customerId。
我该怎么做?
【问题讨论】:
-
A
<select>只回发 1 个值(或多个值的数组),因此您应该使用基于 ID 属性的值字段和基于文本字段的值创建SelectList在 Name 属性上(并绑定到 ID 属性) -
首先你的表单方法应该是 Post,而不是 Get。然后在 BeginForm 中,您应该将操作的名称放在负责处理表单帖子的 Home 控制器中。该操作应具有合适的模型作为输入参数,该模型将代表您的表单数据。
-
@MladenOršolić,OP 的代码中没有任何内容表明它必须是
FormMethod.Post。提交按钮的文本“过滤器”表明它实际上应该是一个 GET -
此链接提供了在 mvc c-sharpcorner.com/UploadFile/4d9083/… 中创建下拉菜单的示例
标签: c# asp.net-mvc asp.net-mvc-4 viewstate viewbag