【问题标题】:Multiselect DropdownList Values Insert SQL With ASP.NET MVC使用 ASP.NET MVC 多选下拉列表值插入 SQL
【发布时间】:2017-07-02 18:44:52
【问题描述】:

根据我选择的值,每个循环只有一个值,但我希望有多个值并将它们保存到数据库中。我该怎么做?

CSHTML..

@Html.DropDownListFor(d => d.Ehliyet.EhliyetId, 
    (IEnumerable<SelectListItem>)ViewBag.EhliyetList,  
    "Ehliyet Seçiniz...", new { @class = "form-control chosen-select" , @multiple="multiple"})

控制器

public ActionResult CreateTeacher()
{

    var ehliyet = EhliyetManager.EhliyetList();
    var list1 = new SelectList(ehliyet, "EhliyetID", "EhliyetAdi");
    ViewBag.EhliyetList = list1;

    return View();

}

[HttpPost]
public ActionResult CreateTeacher(User user, Teacher teacher, Ehliyet ehliyet)
{
    TempData["EventResult"] = TeacherManager.addTeacher(user, teacher, ehliyet);
    if (((SG_BLL.Tools.Result)TempData["EventResult"]).Status.Equals("error"))
    {


        var Ehliyet = EhliyetManager.EhliyetList();
        var list1 = new SelectList(Ehliyet, "EhliyetID", "Ehliyet");
        ViewBag.EhliyetList = list1;


    }

    return RedirectToAction("CreateTeacher");
}

教师经理

public static Result addTeacher(User newUser, Teacher teacher, Ehliyet Ehliyet)
{
    using (SGContext db = new SGContext())
    {
        try
        {                    var TeacherEhliyetRepo = new Repository<TeacherEhliyet>(db);
            var ehliyet = EhliyetManager.EhliyetList();
            TeacherEhliyet teacherEhliyet = new TeacherEhliyet();


            foreach (var item in ehliyet)
            {
                if (item.IsChecked ==false)
                {
                    teacherEhliyet.EhliyetID = Ehliyet.EhliyetId;
                    teacherEhliyet.TeacherId = teacher.TeacherId;
                    TeacherEhliyetRepo.Add(teacherEhliyet);
                }

            }
        }
    }
}

Ehliyet 经理

public static List<Ehliyet> EhliyetList()
    {
        using (SGContext db = new SGContext())
        {
            try
            {
                var repo = new Repository<Ehliyet>(db);
                var ehliyetList = repo.Listele().Where(d => d.IsChecked == false);
                return ehliyetList.ToList();
            }
            catch (Exception)
            {
                return null;
            }
        }
    }
}

【问题讨论】:

  • 哪一种方法会被保存?
  • 用 TeacherManager 添加教师
  • 添加教师中没有列表,您没有使用列表参数

标签: c# asp.net asp.net-mvc multi-select html.dropdownlistfor


【解决方案1】:

这个 HTML 属性应该 @multiple="multiple" 而不是 "true" 吗?

@Html.DropDownListFor(d => d.Ehliyet.EhliyetId, 
    (IEnumerable<SelectListItem>)ViewBag.EhliyetList,  
    "Ehliyet Seçiniz...", new { @class = "form-control chosen-select" , @multiple ="multiple"})

而且,ListBox 也可以达到你的目的:https://msdn.microsoft.com/en-us/library/system.web.mvc.html.selectextensions.listbox.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多