C# 如何从dropdownlist选择值到模式或控制器mvc

C# 如何从dropdownlist选择值到模式或控制器mvc,c#,asp.net-mvc,drop-down-menu,C#,Asp.net Mvc,Drop Down Menu,模型 存储库: ViewBag.Workzones = cmpRep.GetWorkzoneDrop(); 我想将选定的dropdownlist值分配给int工作区int模式我如何从dropdownlist选择值到模型或控制器您需要将dropdownlist绑定到属性工作区ID @Html.DropDownList("Workzones") 如果希望预选选项,则需要在将模型传递到视图之前在控制器中设置值。由于您的模型包含SelectList的属性,请使用它(不要使用ViewBag) 当你屈服

模型

存储库:

ViewBag.Workzones = cmpRep.GetWorkzoneDrop();

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

您需要将dropdownlist绑定到属性
工作区ID

@Html.DropDownList("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);

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

对不起,我不理解您的评论(如果您甚至不格式化它,就无法阅读)我试图发布我用来插入新记录的函数我不明白为什么我应该使用编辑函数而不是我的函数@StephenMueckeYou在你的问题中从未显示任何方法的代码。你觉得我怎么可能猜出你给它起的名字:)我的代码只是个例子-你可以随时调用这个方法,我做的和你的帖子完全一样,有一个错误:`附加信息:对象引用未设置为对象的实例。`这与你问题中的代码或我答案中的代码完全无关。该错误意味着您访问的某个属性为
null
。您需要分步执行并调试代码,以确定什么是
null
。我的最佳猜测是,如果
ModelState
无效,但忘记重新填充
WorkZones
属性,则在POST方法中返回视图(正如我在GET方法中所示)
@Html.DropDownList("Workzones")
@Html.DropDownListFor(m => m.WorkZoneID, Model.Workzones)
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)