【问题标题】:how do i select value from dropdownlist to mode or to controller mvc我如何从下拉列表中选择值到模式或控制器 mvc
【发布时间】:2016-02-09 07:36:43
【问题描述】:

型号

public class Company
{
    public int ID { get; set; }
    ....
    public int WorkZoneID { get; set;  }
    public IEnumerable<SelectListItem> WorkZones { get; set; }

控制器:

ViewBag.Workzones = cmpRep.GetWorkzoneDrop();

存储库:

public List<SelectListItem> GetWorkzoneDrop()
{
    SqlDataReader DR;
    DR = Ado.ExecDataReaderProc("WorkZoneSelectActive");
    List<SelectListItem> selectWorkZoneListItems = new     List<SelectListItem>();
    CompanyVMList C = new CompanyVMList();
    C.Companies = new List<Company>();
    while (DR.Read())
    {
        SelectListItem selectListItem = new SelectListItem
        {
            Text = Convert.ToString(DR["Name"]),
            Value = Convert.ToString(DR["ID"]),
        };
        selectWorkZoneListItems.Add(selectListItem);
    }
    return selectWorkZoneListItems;
}

查看

@Html.DropDownList("Workzones")

我想将选定的下拉列表值分配给 int 工作区 int 模式我如何从下拉列表中选择值到模型或控制器

【问题讨论】:

    标签: c# asp.net-mvc drop-down-menu


    【解决方案1】:

    您需要将下拉列表绑定到属性WorkZoneID

    @Html.DropDownListFor(m => m.WorkZoneID, Model.Workzones)
    

    如果你想预先选择一个选项,你需要在将模型传递给视图之前在控制器中设置值。并且由于您的模型包含SelectList 的属性,因此请使用它(不要使用ViewBag

    Company model = new Company
    {
        WorkZoneID = 1 // set to a value that matches one of your options
        Workzones = cmpRep.GetWorkzoneDrop();
    };
    return View(model);
    

    当你提交给

    [HttpPost]
    public ActionResult Edit(Company model)
    

    model.WorkZoneID 的值将包含所选选项的值。

    【讨论】:

    • 对不起,我不明白你的评论(如果你甚至不格式化它就无法阅读)
    • 我试图发布我用来插入新记录的函数我不明白为什么我应该使用编辑函数而不是我的函数@StephenMuecke
    • 您从未在问题中显示任何方法的任何代码。你觉得我怎么可能猜到你给它起什么名字:) 我的代码只是一个例子——你可以随心所欲地调用该方法
    • 对不起,我只是 mvc 中的新人,我所做的和你的帖子完全一样,但有一个错误:` 附加信息:对象引用未设置为对象的实例。`
    • 这与您问题中的代码或我的答案中的代码完全无关。该错误意味着您访问的是null 的属性。您需要逐步调试代码以识别null 是什么。我最好的猜测是,如果 ModelState 无效但忘记重新填充 WorkZones 属性(正如我在 GET 方法中向您展示的那样),您会在 POST 方法中返回视图
    猜你喜欢
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多