2012-04-29 47 views
1

我得到這個錯誤:傳入字典的模型項目的類型是'System.Boolean'?

The model item passed into the dictionary is of type 'System.Boolean', but this dictionary requires a model item of type 'DunyaYazilim.Models.TBL_CATEGORIES'. 

這裏是我的看法:

@model DunyaYazilim.Models.TBL_CATEGORIES 
@{ 
    ViewBag.Title = "EditCategory"; 
} 
@using (Html.BeginForm((string)ViewBag.FormAction, "Administrator")) 
{ 
    <div> 
     <div>Category Name</div> 
     <div>@Html.TextBoxFor(m => m.Name)</div> 
     <input type="submit" value="Submit" /> 
    </div> 
} 

這裏是控制器:

public ActionResult EditCategory(int CategoryID) 
{ 
    return PartialView(entity.TBL_CATEGORIES.Select(c=>c.CategoryID==CategoryID).FirstOrDefault()); 
} 

而且ActionLink的:

@Html.ActionLink("update", "EditCategory", "Administrator", new { CategoryID = categories.CategoryID }, new { @class = "openDialog", dialog_id = "EditCategory", dialog_title = "Update Category" }) 

感謝。

+0

檢查entity.TBL_CATEGORIES.Select(C => c.CategoryID == CategoryI)語句和makesure你selecing幾個值的不只是一個,可能是布爾 –

回答

2

您的select語句是問題的原因 - 它返回bool - 我認爲您的意思是c => c.CategoryID == CategoryID要麼位於Where或FirstOrDefault中(取決於您的數據源 - 我不認爲EF 4.0支持claues在FirstOrDefault)

嘗試

public ActionResult EditCategory(int CategoryID) 
{ 
    return PartialView(entity.TBL_CATEGORIES.Where(c=>c.CategoryID==CategoryID).FirstOrDefault()); 
} 

選擇意到項目的結果,不是where子句。

+0

是你的權利。這是「複製粘貼」的缺點:)謝謝。我看不到。 –

+0

然後你應該點擊勾選框來接受這個:-)(我想今天達到5k點!!) – Andiih

+0

當然我會 –

相關問題