0

顧客に割り当てられている製品をドロップダウン リストから削除するにはどうすればよいですか?

Id は正しい順序で表示されます。そして、私はいくつかの変更を加えました、多分私は何かが欠けています

        public ActionResult Edit(int id = 0)
    {     
        UserProfile userprofile = db.UserProfiles.Find(id); 

        if (userprofile == null)
        {
            return HttpNotFound();
        }

        var deviceList = db.Devices.ToList();
        var userList = db.UserProfiles.ToList();

        foreach (var user in userList)
        {
            deviceList.RemoveAll(x=>x.DeviceID==user.Device_DeviceID);          

        }

            ViewBag.deviceList = new SelectList(db.Devices, "DeviceID", "DeviceIMEI", userprofile.Device_DeviceID);              
            return View(userprofile);

    }

    // POST: /User/Edit/5
    [HttpPost]
    public ActionResult Edit(UserProfile userprofile)
    {                     
        if (ModelState.IsValid)
        {
           db.Entry(userprofile).State = EntityState.Modified;

            //db.UserProfiles.Attach(userprofile);

            db.SaveChanges();

            return RedirectToAction("Index");
        }
        ViewBag.deviceList= new SelectList(db.Devices, "DeviceID", "DeviceIMEI", userprofile.Device_DeviceID);            
        return View(userprofile);
    }
4

1 に答える 1

0

方法を試すRemoveAll

 var deviceList = db.Devices.ToList();
 var userList = db.UserProfiles.ToList();
 foreach (var user in userList)
 {
    deviceList.RemoveAll(x=>x.DeviceID==user.Device_DevideID);
 }

devicelistこれで、ビューのドロップダウンにバインドできます。ViewBag/ViewData アプローチの使用を避け、厳密に型指定されたビュー アプローチに切り替えることを強くお勧めします。

于 2013-06-12T12:15:08.510 に答える