C# html下拉列表到控制器

C# html下拉列表到控制器,c#,html,asp.net-mvc,C#,Html,Asp.net Mvc,我试图通过post将下拉列表中的选定值传递给我的控制器,但我一直得到一个空值 *****HTML***** p><b>Employee: &nbsp;&nbsp;&nbsp;&nbsp; @Html.DropDownList("EmpList", new SelectList((IEnumerable) @ViewData["EmployeeList"], "EmployeeName", "EmployeeName")) 公共类VM\u新闻:M

我试图通过post将下拉列表中的选定值传递给我的控制器,但我一直得到一个空值

*****HTML*****

p><b>Employee: &nbsp;&nbsp;&nbsp;&nbsp; @Html.DropDownList("EmpList", new SelectList((IEnumerable) @ViewData["EmployeeList"], "EmployeeName", "EmployeeName"))
公共类VM\u新闻:M\u新闻
{
公共选择列表分类列表{get;set;}
[显示(Name=“Categories”)]
公共列表分类ListSelected{get;set;}
}
public IActionResult Create()
{
VM_News VM_News=新VM_News();
变量分类表=
_上下文。
db_类别。
OrderBy(z=>z.Title)。
选择(x=>new{Id=x.IDCategory,Value=x.Title});
vm_News.DateCreated=DateTime.Now;
vm_News.IsActive=true;
vm_News.CategoriesList=新选择列表(CategoriesList,“Id”,“Value”);
返回视图(vm_新闻);
}
公共异步任务创建([Bind(“IDNews,DateCreated,IsActive,Text,Title,CategoriesListSelected,OriginTitle,OriginUrl”)]VM\u News VM\u News)
{
if(ModelState.IsValid)
{
M_News M_News=新M_News();
m_News.Title=vm_News.Title;
m_News.Text=vm_News.Text;
m_News.IsActive=vm_News.IsActive;
m_News.DateCreated=vm_News.DateCreated;
m_News.OriginTitle=vm_News.OriginTitle;
m_News.OriginUrl=vm_News.OriginUrl;
foreach(vm_News.CategoriesListSelected中的变量项)
{
M_CategoryNews MTM=新M_CategoryNews();
MTM.M_新闻=M_新闻;
M_Category Category=_context.db_Category.SingleOrDefault(z=>z.IDCategory==item);
MTM.M_类别=类别;
_添加上下文(MTM);
}
wait_context.SaveChangesAsync();
返回操作(“索引”);
}
变量分类表=
_上下文。
db_类别。
OrderBy(z=>z.Title)。
选择(x=>new{Id=x.IDCategory,Value=x.Title});
vm_News.CategoriesList=新选择列表(CategoriesList,“Id”,“Value”);
返回视图(vm_新闻);
}
M_新闻


为什么不尝试使用ViewModel,然后选择ListItem?我会这样做

控制器:

Model.Employees = employeesList.Select(employee => new SelectListItem
{
    Text = employee.FullName,
    Value = employee.Id
}).ToList();
@Html.DropDownListFor(m => m.EmployeeId, new SelectList(Model.Employees, "value", "text"))
HTML:

Model.Employees = employeesList.Select(employee => new SelectListItem
{
    Text = employee.FullName,
    Value = employee.Id
}).ToList();
@Html.DropDownListFor(m => m.EmployeeId, new SelectList(Model.Employees, "value", "text"))

员工ID应为字符串。然后你只需要设置EmployeeId。

什么是
代表什么?你如何发布你的数据?提供代码,不解释或与OP问题相关。没有上下文或解释,这个答案毫无价值。