如何保存列表框的在数据库中的价值? [英] How to save the value of Listbox in the database?

查看:82
本文介绍了如何保存列表框的在数据库中的价值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我为发展我的asp.net项目MVC-3。

i m developing my project in asp.net MVC-3.

在其中的一个模块中,我创建了创作团队的景色。
在有项目名称中的一个下拉列表。
和一个列表框(列表框-1)从DropDownList中显示所选项目的成员。
还有另一个列表框(列表框-2)传输/选择选择或在它的所有记录(成员的名字)。
这是使用JavaScript完全可以做到的。

In these in one module i created a view for creation of team. In that there is one dropdown list of Project name. and a listbox(ListBox-1) to display the members of the selected project from dropdownlist. and there is another listbox(ListBox-2) to transfer/select the selected or all records(member's names) in it. which is done perfectly using javascript.

我要所有的数据保存在该形式的数据库。
在我必须拯救它们显示在数据库列表框第二届(列表框-2)团队成员的名单。而这些我的疑问,如何获取该列表框(列表框-2)的数据,并将其保存在数据库中的字段?

I have to save all the data in database of that form. in that i have to save the list of team members which are displayed in 2nd listbox(ListBox-2) in the database. And these my question that How to fetch the data of that listbox(ListBox-2) and save it in the database field?

下面是我创建的团队观...

Below is my create team view...

在这种形式第一次下拉列表中显示的项目名称
并且有两个ListBox中的DROPDOWNLIST低于用来显示该项目的成员名称

In this form 1st dropdown list displays the project names And there are two Listbox below the Dropdownlist which are used to display the member names of the project

ListBox的看法code是如下。

view code of the listbox is as below..

Dropdownlist for Project
  <%: Html.DropDownListFor(model => model.availableproject, new SelectList(ViewBag.Projects as System.Collections.IEnumerable, "project_id", "project_name"),"Select Project", new { id = "ddlCars" })   %> 


code of listbox.
 <div class="ddlModels" style="float:left; ">
                              <%--  <%: Html.ListBox("projectmembers_id") %>  --%>
                                 <%: Html.ListBoxFor(Models => Models.availableuser, new SelectList(Enumerable.Empty<SelectListItem>(), "user_id", "user_login_name"),
                             new { id = "ddlModels2" }) %>


                            </div>

                            <div style="display:inline; float:left; margin-left:5px; margin-right:5px; margin-top:10px;">
                                <input type="button" name="add" id="alladd"  onclick="CopyListsall();" value=">>" style="width:27px; height:15px; font-size:8px; color:#56a1d6;"/><br />
                                <input type="button" name="add" id="add" onclick="CopyLists();"value=">" style="width:27px; height:15px; font-size:8px; color:#56a1d6;"/><br /><br />
                                <input type="button" name="remove" id="allremove"  onclick="RemoveListsall();" value="<<" style="width:27px; height:15px; font-size:8px; color:#56a1d6;" /><br />                
                                <input type="button" name="remove" id="remove"  onclick="RemoveLists();"  value="<" style="width:27px; height:15px; font-size:8px; color:#56a1d6;" />
                            </div>

                            <div class="ddlModels" style="float:left;">
                             <%: Html.ListBoxFor(Models => Models.availableuser, new SelectList(Enumerable.Empty<SelectListItem>(), "user_id", "user_login_name"),
                             new { id = "ddlModels1" }) %>
                             <%-- <%: Html.ListBox("projectmembers_id") %>--%>
                            </div>

code中的模型(.cs文件)的

code of the model (.cs file)

namespace ProjectManagementSystem.Models
{
    public class TeamCreate
    {

        [Required(ErrorMessage = "Empty Not Allow")]
        public int team_id { get; set; }

        [Required(ErrorMessage = "Empty Not Allow")]
        [DisplayName("Team Name")]
        public string team_name { get; set; }

        [Required(ErrorMessage = "Empty Not Allow")]
        public int project_id { get; set; }

        [Required(ErrorMessage = "Empty Not Allow")]
        public string project_name { get; set; }

        [Required(ErrorMessage = "Empty Not Allow")]
        public int projectmembers_id { get; set; }

        [Required(ErrorMessage = "Empty Not Allow")]
        public int projectmemberuser_id { get; set; }

        [Required(ErrorMessage = "Empty Not Allow")]
        public int user_id { get; set; }


        public int SerialNumber { get; set; }

        [Required(ErrorMessage = "Empty Not Allow")]
        [DisplayName("Team Leader")]
        public string user_real_name { get; set; }

        [Required(ErrorMessage = "Empty Not Allow")]
        public int technology_skill_id { get; set; }

        [Required(ErrorMessage = "Empty Not Allow")]
        public string technology_skill_name { get; set; }

        [Required(ErrorMessage = "Empty Not Allow")]
        public string team_description { get; set; }

        [Required(ErrorMessage = "Empty Not Allow")]
        public int leader_id { get; set; }


        public bool t1 { get; set; }

        public List<user_master> availableuser;
        public List<project_master> availableproject;
        public List<team_master> availableteam;
        public List<team_to_user> availableteamuser;

        public List<technology_skill_master> availabletechnology;

        public List<int> SelectSkill { get; set; }
        public List<int> lbtechnologyskillname2 { get; set; }

        public List<int> ddlModels { get; set; }
        public List<int> ddlModels1 { get; set; }

    }
}

第二.cs文件获取数据。

2nd .cs file to fetch the data..

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace ProjectManagementSystem.Models
{
    public class TeamCreateFetch
    {
        private int counter = 1;


        //ProjectManagementSystemEntities3 pb = new ProjectManagementSystemEntities3();
        public static IList<TeamCreate> all()
        {     

            IList<TeamCreate> result =
                (IList<TeamCreate>)HttpContext.Current.Session["team1"];

            if (result == null)
            {
                ProjectManagementSystemEntities3 pb = new ProjectManagementSystemEntities3();

                HttpContext.Current.Session["team1"] = result =

                    ( from l in pb.team_master
                     join u in pb.user_master
                     on l.user_id equals u.user_id
                     select new TeamCreate
                     {
                         //SerialNumber= counter++,
                         team_id= l.team_id,
                         user_id = u.user_id,
                         team_name= l.team_name,
                         user_real_name=u.user_real_name,


            }

            return result;
        }
    }
}

我的数据库是如下...

My database is as below...

表的名字 - team_master

team_id
team_name
user_id(FK with user_id of "user_master")
team_description

表2名 - team_to _user

user_id(PK)
user_real_name

表3名 - team_to _user

team_id (FK with team id of "team_master")
user_id (FK with user_id of "user_master")

现在我必须保存在USER_ID字段的表team_to _user第2个列表框的值。

Now i have to save the value of 2nd ListBox in the table "team_to _user" in user_id field.

那么,如何做,在MVC-3 ??

在此先感谢

推荐答案

我建议废除双重列表框和实现它作为一个单一的MultiSelectListBox。

I suggest doing away with the dual list boxes and implement it as a single MultiSelectListBox.

示范

public class MyClass {
    [Required]
    [Display(Name = "Items Selected (Use ctl + click to select multiple)")]
    public int[] SelectedItems { get; set; }
    public IEnumerable<ItemDTO> Items { get; set; }
}

public class ItemDTO { 
    public int ID { get; set; }
    public string Name { get; set; }
}

视图

@Html.LabelFor(model => model.SelectedItems):                                                     
@Html.ListBoxFor(model => model.SelectedItems, new MultiSelectList(Model.Items, "ID", "Name", Model.SelectedItems))
@Html.ValidationMessageFor(model => model.SelectedItems)

在你的控制器,只是环通的SelectedItems阵列和保存每个

In your controller, just loop thru the SelectedItems array and save each

这篇关于如何保存列表框的在数据库中的价值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆