如何在mvc中将数据库中的详细信息显示给单个用户

时间:2017-04-04 09:21:14

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-3

我正在尝试从数据库中获取要在View中显示的详细信息。在这里,我需要显示当前记录的特定用户的记录。但不幸的是,DB表中的所有数据都进入了视图。但我不想显示所有数据。

在DB中,我有两个用于tblEmployee和TaskDetails的表。 这是我的模特:

public class TaskDetails
{
     public string ProjectID { get; set; }
     public string ProjectName { get; set; }
     public DateTime StartDate { get; set; }
     public DateTime EstimatedDate { get; set; }
     public string TaskDescription { get; set; }
}

这是我的控制器, 要在此处获取数据,我使用的是ADO.Net,

public ActionResult TaskDetails(string td)
{           
     string connectionstring = "data source = NLTI37; initial catalog = Data; integrated security = True; MultipleActiveResultSets = True; App = EntityFramework";
     string sql = "select * from TaskDetail";
     SqlConnection conn = new SqlConnection(connectionstring);
     SqlCommand cmd = new SqlCommand(sql, conn);
     var Details = new List<TaskDetails>();
     { 
         conn.Open();
         SqlDataReader rdr = cmd.ExecuteReader();
         while (rdr.Read())
         {
               var ProjectDetail = new TaskDetails();
               ProjectDetail.ProjectID = rdr["ProjectID"].ToString();
               ProjectDetail.ProjectName = rdr["ProjectName"].ToString();
               ProjectDetail.StartDate = DateTime.Parse(rdr["StartDate"].ToString());
               ProjectDetail.EstimatedDate = DateTime.Parse(rdr["EstimatedDate"].ToString());
               ProjectDetail.TaskDescription = rdr["TaskDescription"].ToString();
               Details.Add(ProjectDetail);
         }
    }
    return View(Details);
}

这里我使用ADO.Net来获取详细信息。我需要在当前登录用户的View上显示这些详细信息。

这是我的观点:

<tbody>
       @foreach (var ProjectDetail in Model)
       {   
            <tr>
               <td>@ProjectDetail.ProjectID</td>
               <td>@ProjectDetail.ProjectName</td>
               <td>@ProjectDetail.StartDate</td>
               <td>@ProjectDetail.EstimatedDate</td>
               <td>@ProjectDetail.TaskDescription</td>
            </tr>
       }
</tbody>

这里我需要显示当前登录用户的记录。但遗憾的是我收到的所有用户详细信息。根据我的理解,SQL语句是错误的。纠正我,如果错了。如何获取特定用户详细信息的详细信息。任何人都可以帮忙解决这个问题。

1 个答案:

答案 0 :(得分:0)

我认为你应该使用ProjectID条款。试试这个。 我假设string sql = "select * from TaskDetail where ProjectID=@ProjectID"; SqlConnection conn = new SqlConnection(connectionstring); SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@ProjectID", td); 是您的List<PictureBox> PictureList = new List<PictureBox>(); for(int i = 0; i < 10; i++) { var pic = new PictureBox { Parent = pictureBox1, Name = rdr["num"].ToString(), Location = new Point(50, 50), Size = new Size(25, 25), BackColor = Color.Transparent, Image = Properties.Resources.budea, SizeMode = PictureBoxSizeMode.StretchImage, } PictureList.Add(pic); }

List<PictureBox>