使用dbml类时,如何仅从表中选择特定记录?

时间:2012-09-13 10:45:38

标签: asp.net linq-to-sql dynamic-data

在我的项目中,我使用dynamic data控制来生成labletextboxdropdownlist

我使用.dbml类将所有值绑定为使用linq to sql

现在,当我使用以下代码填充我的下拉列表时,它会填充表Users中的所有值,但我想只显示一些值,我该如何实现?

代码:

  partial class WorkFlow{}

    [DisplayName("Flow")]
    [DisplayColumn("FlowItem", "InitDate", true)]
    public class FlowMeta
    {
        [Display(Name = "Trade", Order = 1)]
        public WorkFlowItem WorkFlowItem { get; set; }

        [Display(Name = "Users", Order = 2)]
        public Users User { get; set; }
    }  

这里填充Users表中的所有记录并动态绑定到dropdownlist如何修改它?

1 个答案:

答案 0 :(得分:1)

您可以在Contorller中以这种方式创建一个函数:

 public void populatelistbox()
    {

        int id = Convert.ToInt32(Session["user"].ToString());

        var enroll = from s in db.EnrollTrainee
                     join a in db.CreateUsers on s.TraineeID equals a.User_Userid
                     where s.TrainerID == id
                     select new { a.User_Userid, a.User_name };

        ViewBag.Enroll = new MultiSelectList(enroll, "User_Userid", "User_name");
    }

您需要根据您的要求在Lambda Operations中执行某些条件。

之后,您可以这样方式调用此函数:

    [HttpGet]
    public ActionResult Create()
    {
        populatelistbox();
        return View();  
    }