Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net DropdownList所选值未保存在数据库中_Asp.net_Sql Server_Asp.net Mvc 4_Razor_C# 5.0 - Fatal编程技术网

Asp.net DropdownList所选值未保存在数据库中

Asp.net DropdownList所选值未保存在数据库中,asp.net,sql-server,asp.net-mvc-4,razor,c#-5.0,Asp.net,Sql Server,Asp.net Mvc 4,Razor,C# 5.0,我需要这里的帮助我是Asp.net MVC 4应用程序开发的新手,实际上我在单击提交按钮后,在数据库中保存dropdownlist所选值时遇到了一个问题 我使用调试指针来检查HTTP post对象中的值,但它不包含dropdownlist选择值它总是在除法中显示空值原始值我需要一些专家建议来解决这个问题我浏览了几个示例并尝试了几次,但仍然没有适当的解决方案 模型类: public partial class tblEmployee { public int EmployeeId { ge

我需要这里的帮助我是Asp.net MVC 4应用程序开发的新手,实际上我在单击提交按钮后,在数据库中保存dropdownlist所选值时遇到了一个问题

我使用调试指针来检查HTTP post对象中的值,但它不包含dropdownlist选择值它总是在除法中显示空值原始值我需要一些专家建议来解决这个问题我浏览了几个示例并尝试了几次,但仍然没有适当的解决方案

模型类:

public partial class tblEmployee
{
    public int EmployeeId { get; set; }
    public string Title { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }

    public Nullable<System.DateTime> DateOfBirth { get; set; }
    public Nullable<System.DateTime> DateOfJoin { get; set; }

    public string Position { get; set; }
    public string Office { get; set; }
    public string Division { get; set; }

    public Nullable<decimal> Salary { get; set; }
    public virtual tblDivision Divisions { get; set; }
}


public partial class tblDivision
{
    public int value { get; set; }
    public string Division { get; set; }
    public Nullable<int> SelectId { get; set; }
}
视图:


您的
分区选项
下拉列表未正确绑定回模型,因为它的名称错误。您的模型正在查找名为Division的属性,而您的下拉列表正在绑定到Division options。你有几个选择

  • 使用强类型助手

    @DropDownListFor(x=>x.Division,(SelectList)ViewBag.Division选项)

  • 重命名您的当前代码并输入选择列表

    @Html.DropDownList(“Division”,(SelectList)ViewBag.Division选项)


  • 真的不清楚问题出在哪里。哪个值是空的?HTML表单是否包含该值的元素?请详细说明问题说明。@David actaully Dropdownlist使用数据库中的值填充其已正确完成问题是当我在Dropdownlist中选择项并单击“提交”按钮时,它没有在数据库中保存Dropdownlist选择值以检查该问题我在检查时使用调试点附近创建操作tblemployee对象它有带空值的除法字段,但当我使用Editor时,它已经有了数据:(实际上我使用dropdownlist的方式是错误的?或者有人知道执行该任务的最佳方式,请使用另一种技术
    namespace EmpiteHrSystem.Controllers
    {
        public class EmployeeController : Controller
        {
            private EmpiteContext db = new EmpiteContext();
    
            public ActionResult Create()
            { 
                ViewBag.DivisionOptions = new SelectList(db.tblDivisions, "value","Division");
    
                return View();
            }
    
            //
            // POST: /Employee/Create
    
            [HttpPost]
            public ActionResult Create(tblEmployee tblemployee)
            {
                if (ModelState.IsValid)
                {
                    try
                    { 
                        db.Entry(tblemployee).State = EntityState.Added;
    
                        db.tblEmployees.Add(tblemployee);
                        db.SaveChanges();
                    }
                    catch (ArgumentException ae)
                    {
                        ModelState.AddModelError("", ae.Message);
    
                    }
                    return RedirectToAction("Index");
                }
            }
        }
    }
    
    @model EmpiteHrSystem.Models.tblEmployee
    @{  ViewBag.Title = "Create"; Layout = "~/Views/Shared/_Layout.cshtml";}
    
    @Html.EditorFor(model => model.EmployeeId) 
    
    @Html.ValidationMessageFor(model => model.EmployeeId)
    
    @using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    
    @*@Html.EditorFor(model => model.Office)*@
    
    @Html.DropDownList("DivisionOptions")
    
    @Html.ValidationMessageFor(model => model.Division)
    
    @Html.ActionLink("Back to List", "Index")