2011-01-14 27 views
0

即時通訊設備試圖讓我的mvc應用程序中的控制器編輯數據模型中的特定實體,一旦用戶點擊編輯按鈕,但是我似乎無法讓它工作。我一直得到這個錯誤傳入字典的模型項目的類型爲'System.Data.Objects.ObjectQuery`1

傳入字典的模型項目類型爲'System.Data.Objects.ObjectQuery`1 [MvcApplication1.Models.New]',但是這個字典需要一個'MvcApplication1.Models'類型的模型項。新'。

我做錯了什麼。是由於強類型視圖?

這裏是我的控制器:

public ActionResult Edit(int id) 
     { 
     var productToEdit = from s in _entities.NewSet  // return the story matching the clicked id 
          where s.storyId == id 
          select s; 
      return View(productToEdit); 
     } 

     // POST : Edit 
     [AcceptVerbs(HttpVerbs.Post)] 
     public ActionResult Edit(New productToEdit) 
     { 
      try 
      { 
       var originalNews = (from s in _entities.NewSet 
            where s.storyId == productToEdit.storyId 
            select s).FirstOrDefault(); 
       _entities.ApplyPropertyChanges(originalNews.EntityKey.EntitySetName, productToEdit); 
       _entities.SaveChanges(); 
       return RedirectToAction("Index"); 
      } 
      catch 
      { 
       return View(); 
      } 

     } 

能有人給我一些指點吧。我對這一切仍然陌生。

回答

5

更改爲int參數的編輯動作如下:

public ActionResult Edit(int id) 
{ 
    var productToEdit = from s in _entities.NewSet  
         where s.storyId == id 
         select s; 
    return View(productToEdit.FirstOrDefault()); 
} 
+0

感謝Cyber​​nate,已經工作了的魅力。您的傳奇朋友 – mkkk 2011-01-14 21:25:24

相關問題