【发布时间】:2014-07-07 13:38:25
【问题描述】:
我正在尝试从我的 mvc 视图中的下拉列表中获取所选项目的索引。我使用枚举填充了 ddl 的内容,代码如下所示:
@Html.DropDownListFor(x => x.SelectedStateId, Enum.GetNames(typeof(BTSWeb.Models.States)).Select(e => new SelectListItem { Text = e }),"--Market--",new { style = "width: 80px;font-size:85%;border-radius: 6.5px 6.5px 6.5px 6.5px"})
只是让你们知道枚举是在我的模型类中定义的:
public enum States { ANY, FL, TX, GA, NE };
我的控制器如下所示:
public ActionResult Index()
{
Debug.WriteLine("hello");
var model = new DropDownModel();
return View(model);
}
[HttpPost]
public ActionResult Index(DropDownModel model)
{
// Get the selected value
int stateId = model.SelectedStateId;
int paymentTypeId = model.SelectedBillTypeId;
BillingToolInterface_1.check.a = stateId;
BillingToolInterface_1.check.b = paymentTypeId;
//System.Diagnostics.Debug.WriteLine("hello");
Debug.WriteLine(stateId.ToString());
return View();
}
public ActionResult About()
{
return View();
}
按下视图中的提交按钮后,我正在调试控制台上打印 selectedstateid 的值。但它为每个选定的值显示“0”。它应该显示 1,2,3 等等,而在我的状态下拉列表中选择了相应的值。
PS: ddl -> 下拉列表
【问题讨论】:
-
如果我错了,请纠正我,但您没有在下拉列表中设置值?
-
在填充下拉列表时不会自动处理(在我的情况下来自枚举)。如果不是,在这种情况下我应该如何设置值。
-
我正在调查。等一下。
-
您确定您发布的代码正常工作,您的控制器上没有收到异常吗?
-
我错了,我打错了,对不起
标签: c# asp.net-mvc enums