2012-04-09 22 views
1

我在asp.net MVC-3中開發我的項目。如何將Listbox的值保存到數據庫中?

在這些模塊中,我創建了一個創建團隊的視圖。 這裏有一個項目名稱的下拉列表。 和一個列表框(ListBox-1),用於從下拉列表中顯示所選項目的成員。 ,還有另一個列表框(ListBox-2)來傳送/選擇所選或所有記錄(成員的名字)。 這是完美的使用JavaScript。

我必須將所有數據保存在該表單的數據庫中。 因爲我必須保存在數據庫的第二個列表框(ListBox-2)中顯示的團隊成員的列表。這些我的問題,如何獲取該列表框(ListBox-2)的數據並將其保存在數據庫字段?

下面是我創建的團隊視圖... enter image description here

在這種形式的第一個下拉列表中顯示的項目名稱 並且有兩個列表框的下拉列表下面這是用來顯示項目

的成員名稱

列表框的視圖代碼是如下..

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> 

代碼模型(cs文件)的

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文件獲取數據..

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; 
     } 
    } 
} 

我的數據庫是如下...

表的名字 - team_master

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

表-2 name- 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」 第二列表框的值。

那麼如何在MVC-3中做到這一點?

在此先感謝

回答

0

我建議廢除雙重列表框,並執行它作爲一個單一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陣列和保存每個

相關問題