1

このエラーが発生しました:

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());
}

そしてアクションリンク:

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

ありがとう。

4

1 に答える 1

2

selectステートメントが問題の原因です-ブール値を返します- c=>c.CategoryID==CategoryID が Where または FirstOrDefault にあることを意味していたと思います(データソースによっては-私はしませんEF 4.0 は FirstOrDefault の句をサポートしていると考えてください)

試す

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

Select は、where 句ではなく、結果を投影することを目的としています。

于 2012-04-29T18:09:41.787 に答える