2012-04-29 6 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'. 

が私の見解です:

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" }) 

おかげでここ

@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> 
} 

はコントローラです。

+0

あなたのエンティティをチェックしてください.BL_CATEGORIES.Select(c => c.CategoryID == CategoryI)ステートメントは、ブールになる可能性のあるものだけでなく、いくつかの値を選択しています。 –

答えて

2

あなたのselectステートメントは問題の原因です - それはboolを返すことです - 私はあなたがc => c.CategoryID == CategoryIDを意味したと思います。WhereまたはFirstOrDefault(データソースに依存します)私は

が選択した結果を投影することを意図している

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

を試してみてください)FirstOrDefaultにEF 4.0のサポートclauesを考えていない、where句ではありません。

+0

そうです。これは "コピー貼り付け"の不利な点です:)ありがとう。私は見ることができませんでした。 –

+0

これを受け入れるには、チェックボックスをクリックしてください:-)(私は今日5kポイントに到達しようとしています!!) – Andiih

+0

もちろん私は –