其實我有一些問題,這是因爲缺乏在ASP.NET-MVC 4中的知識而發生的。 我想要做的是從下拉列表中獲取選定的值並返回它到控制器(如整數)。是什麼讓我更加困惑的是其他DropDownList這是返回字符串值工作正常。從@ html.DropDownList返回int值
我的模型:
public partial class PRODUCT
{
public int ID { get; set; }
public string PRODUCT_NAME { get; set; }
public int CATEGORY_ID { get; set; }
public string LANGUAGE { get; set; }
}
public partial class PRODUCT_CATEGORY
{
public int ID { get; set; }
public string CATEGORY_NAME { get; set; }
public string LANGUAGE { get; set; }
}
我的控制器: //填充ViewBag
ListProductCategory = new List<PRODUCT_CATEGORY>();
ListProductCategory = db.PRODUCT_CATEGORY.ToList();
IList<PRODUCT_CATEGORY> prodCategories = db.PRODUCT_CATEGORY.ToList();
IEnumerable<SelectListItem> selectListCategory =
from c in prodCategories
select new SelectListItem
{
Text = c.CATEGORY_NAME,
Value = c.ID.ToString()
};
ViewBag.ProductCategoryData = selectListCategory;
//創建行動
[HttpPost]
public ActionResult Create(PRODUCT product)
{
if (ModelState.IsValid)
{
db.PRODUCTs.Add(product);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(product);
}
筆者認爲:
<div class="editor-label">
@Html.LabelFor(model => model.CATEGORY_ID)
</div>
<div class="editor-field">
@Html.DropDownList("ProductCategories", new SelectList(ViewBag.ProductCategoryData, "Value", "Text"))
@Html.ValidationMessageFor(model => model.CATEGORY_ID)
</div>
DropDown lsit已填充,但ProductCategories不是正在返回的值,而是返回0而不是值。
請幫助..
它的工作原理!非常感謝。起初我認爲第一個參數中的名稱僅供參考,所以我只是把我喜歡的任何東西。看起來像這個ASP.NET有很長的路要走對我來說,一百萬感謝幫助。 :-) – anevil