2016-04-05 8 views
-1

Ich baue ein Projekt Management System und Projekt Tabelle behalten Sie die Projekttyp-ID - und den Wert des Projekttyps in einer anderen Tabelle (ProjectTypes) gespeichert. Ich sende alle Projekte von JSON, und ich kann nicht den Typ Name, nur ID ... Wie soll ich damit umgehen?MVC 5 Razor - Anzeigetext statt ID

Projektklasse:

public class Project 
{ 
    //Connection with DB Layer 
    DataLayer dal = new DataLayer(); 
    private const string CClassName = "Project"; 

    /*All Properties of Project object*/ 

    #region Properties 

    public int ID { get; set; } 
    public string NameHeb { get; set; } 
    public string NameEng { get; set; } 
    public int type_id { get; set; } 
    public int Category { get; set; } 
    public int lecturer1 { get; set; } 
    public int lecturer2 { get; set; } 
    public string shortDescription { get; set; } 
    public string Description { get; set; } 
    public string NeededKnowledge { get; set; } 
    public int StageID { get; set; } 
    public int thumbnailID { get; set; } 
    public byte isActive { get; set; } 
    public byte isApproved { get; set; } 
    public byte isAttached { get; set; } 
} 

Projekt-Typ:

public class ProjectType 
{ 
    //Connection with DB 
    DataLayer dal = new DataLayer(); 

    #region Properties 
    /* Straight object properties */ 
    public int DepID { get; set; } 
    public string value { get; set; } 
    public byte isActive { get; set; } 
    #endregion 
} 

Controller:

[AllowAnonymous] 
public JsonResult ProjectsByJSON() 
{ 
    List<Project> objProjects = new Project().GetAllProjects(); 
    return Json(objProjects, JsonRequestBehavior.AllowGet); 
} 

Ausblick:

<div id="login"> 
    <div class="Table" id="ProjectsTbl"> 

     <div class="Heading"> 
      <div class="Cell"> 
      </div> 
      <div class="Cell"> 
       <p>Project name</p> 
      </div> 
      <div class="Cell"> 
       <p>Type</p> 
      </div> 
      <div class="Cell"> 
       <p>Description</p> 
      </div> 
      <div class="Cell"> 
       <p>stage</p> 
      </div> 
     </div> 

     <script language="javascript"> 
      $.get("ProjectsByJSON", null, BindData); 

      function BindData(curProjects) 
      { 
       var tbl = $("#ProjectsTbl"); 

       for (i=0; i<curProjects.length;i++) 
       { 
        var row = "<div class=\"Row\">" + 
          "<div class=\"Cell\"></div>" + 
          "<div class=\"Cell\">" + curProjects[i].NameHeb + "</div>" + 
          "<div class=\"Cell\">" + curProjects[i].Name + "</div>" + 
          "<div class=\"Cell\">" + curProjects[i].shortDescription + "</div>" + 
          "<div class=\"Cell\">" + curProjects[i].Stage + "</div>" + 
         "</div>"; 
        tbl.append(row); 
       } 
      } 
     </script> 

    </div> 
</div> 
+0

verschönert den Code –

Antwort

0

ich denke, der beste Weg besteht darin, zu codieren, indem Sie beide Tabellen (Project und ProjectTypes) verbinden und dasselbe zurückgeben. Dann erhalten Sie sowohl ID als auch Name.

+0

Danke für die praktische Lösung –