0

在我的项目中,我使用dynamic data控件来生成lable, textbox,dropdownlist

我正在使用.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表中的所有记录并将其动态绑定到下拉列表我该如何修改它?

4

1 回答 1

1

您可以在您的控制器中以这种方式创建一个函数:

 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 操作中执行一些条件。

之后,您可以通过这种方式调用此函数:

    [HttpGet]
    public ActionResult Create()
    {
        populatelistbox();
        return View();  
    }
于 2012-09-13T11:04:05.363 回答