gpt4 book ai didi

c# - 从 @html.DropDownList 返回 int 值

转载 作者:行者123 更新时间:2023-11-30 16:17:54 25 4
gpt4 key购买 nike

实际上,由于我对 ASP.NET - MVC 4 缺乏了解,我遇到了一些问题。我想要做的是从下拉列表中获取选定的值并将其返回给 Controller (作为整数)。让我更困惑的是另一个返回字符串值的 DropDownList 工作正常。

我的模型:

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; }
}

我的 Controller ://填充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;

//创建 Action

[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 而不是值。

请帮忙..

最佳答案

还有哪些其他下拉列表正在返回字符串?我敢打赌他们返回的字符串是模型的一部分。您的模型没有 ProductCategories 属性。尝试更改:

@Html.DropDownList("ProductCategories", new  SelectList(ViewBag.ProductCategoryData, "Value", "Text"))          

收件人:

@Html.DropDownList("CATEGORY_ID", new  SelectList(ViewBag.ProductCategoryData, "Value", "Text"))          

关于c# - 从 @html.DropDownList 返回 int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16661579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com