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

标签 c# asp.net-mvc razor html-select

实际上,由于我对 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/

相关文章:

c# - 使用 asp.net mvc beta 的强类型 actionlink?

javascript - 上传视频时出现内部服务器错误。但上传图片工作正常。可能会出现什么问题?

javascript - 反序列化 JSON 日期无时区

css - 在 MVC 中向 @Html.DropDownListFor 添加自定义动画/CSS

razor - Umbraco 5表面 Controller 和部分宏

c# - 删除两个元素之间的所有元素

c# - LINQ:从左连接填充对象

c# - ASP.NET Core RC1 - WebAPI Swagger 集成 - "Error"SchemaValidationMessages

c# - 如何使网站状态对所有平台可用

javascript - 为什么 jQuery Selectable 插件不能与 foreach 生成的列表一起使用?