0
をサポートしている私は私のコントローラタイプ 'System.Linq.IQueryable`1の要素を比較できません。唯一のプリミティブ型、列挙型とエンティティタイプが
[HttpGet]
public ActionResult Nabipour()
{
string name = "Nabipour";
var username = (from T in _db.tbl_teacher
where T.Page==name
select T.Username);
ViewBag.Nabipour = from N in _db.tbl_Tpage
where N.Username.Equals(username)
select N;
ViewBag.papers = from P in _db.tbl_Tpaper
where P.Username.Equals(username)
select P;
return View();
}
にこのコードを持っており、これは、このアクションの私の見解である:
@{
ViewBag.Title = "Nabipour";
Layout = "~/Views/Shared/_otherpage.cshtml";
}
....
<ul>
@foreach (var paper in ViewBag.papers)
{
<li><a href="~/Content/Paper/@paper.PaperName"></a></li>
}
</ul>
....
あなたは私がチェックしていない参照のように私の選択したコードでnullと私は.FirstOrDefault()
でこのコードを試してみました。エラー
タイプ 'System.Linq.IQueryable'の要素を比較できません。唯一のプリミティブ型、列挙型とエンティティタイプがサポートされています
は@foreach (var paper in ViewBag.papers)
上で私が何をすべき助けてください?
適切なモデルで厳密に型指定されたビューの代わりにViewBagを使用しているのはなぜですか? – DavidG
@DavidGこのビューに2つのモデルを使用する必要があるため.iまだコードを書きません。それがちょうど1つのモデルであれば、私は強く型付けされたビューを使用していました。しかし、私は両方のモデルからこの情報を送信するためにViewBagが必要です –
'ViewBag'ではなく、必要なすべてのプロパティを持つビューモデルを使用してください。 –