我有一个下拉列表,显示数据库中 db.Budgets 的代码和 BudgetCodename。
视图片段如下所示:
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel-btns">
<a href="" class="minimize">−</a>
</div>
<h4 class="panel-title">Block Styled Form</h4>
<p>This is an example of form with block styled label.</p>
</div>
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="panel-body">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
@Html.LabelFor(model => model.BudgetCodeID, "BudgetCode:", new { @class = "control-label" })
@Html.DropDownListFor(m => m.BudgetCodeID, (SelectList)ViewBag.BudgetsList, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.BudgetCodeID, "", new { @class = "text-danger" })
</div>
}
控制器看起来像这样:
public ActionResult Create()
{
var Budgets = (from m in db.BudgetCodes
select new SelectListItem {
Text = m.Code + "| " + m.BudgetCodeName,
Value = m.BudgetCodeID.ToString()
});
ViewBag.BudgetsList = new SelectList(Budgets, "Value", "Text");
}
下拉菜单看起来不错,并显示代码和预算代码名称。
但是该框不会将数据回发到 sql 数据库。不会产生任何错误。
我做错了什么?
繁星淼淼
临摹微笑
桃花长相依
相关分类