gpt4 book ai didi

c# - 'IEnumerable< >' does not contain a definition for ' ' 并且找不到接受类型为 '' 的第一个参数的扩展方法 'IEnumerable<>'

转载 作者:太空狗 更新时间:2023-10-30 01:33:55 25 4
gpt4 key购买 nike

我想创建如下图所示的在线论坛


enter image description here


这是我的 Controller 方法

public ActionResult Discussion_Preview()
{

int Discussion_ID = 1;


var discussion_preview = (from d in db.AB_Discussion
where d.Discussion_ID == Discussion_ID
join dc in db.AB_DiscussionComments on d.Discussion_ID equals dc.Discussion_ID
join user_discussion in db.AspNetUsers on d.CreatedBy equals user_discussion.Id
join user_comments in db.AspNetUsers on dc.CreatedBy equals user_comments.Id
select new DiscussionPreview_Model
{
Disussion_ID = d.Discussion_ID,
Discussion_CreateDate = d.CreatedDate,
Discussion_CreateBy = user_discussion.UserName,
Discussion_Title = d.Discussion_Name,
Discussion_Description = d.Discription,
Comment_ID = dc.Comment_ID,
Comment_Description = dc.Comment_Discription,
Comment_CreateDate = dc.CreatedDate,
Comment_CreateBy = user_comments.UserName

});



return View(discussion_preview);
}

模型类

public class DiscussionPreview_Model
{
public int Disussion_ID { get; set; }
public Nullable<System.DateTime> Discussion_CreateDate { get; set; }
public string Discussion_CreateBy { get; set; }
public string Discussion_Title { get; set; }
public string Discussion_Description { get; set; }

public int Comment_ID { get; set; }
public Nullable<System.DateTime> Comment_CreateDate { get; set; }
public string Comment_CreateBy { get; set; }
public string Comment_Description { get; set; }

}

查看页面

@model IEnumerable<prjct.Models.DiscussionPreview_Model>

@{
ViewBag.Title = "Discussion_Preview";
Layout = "~/Views/Shared/_Layout.cshtml";
}

<h3>@Html.DisplayFor(model => model.Discussion_Title)</h3>

<div>@Html.DisplayFor(model => model.Discussion_Description)</div>
<div>@Html.DisplayFor(model => model.Discussion_CreateDate) @Html.DisplayFor(model => model.Discussion_CreateDate)</div>

@foreach (var item in Model)
{

<fieldset>
<legend></legend>

<h4>Comments</h4>
<div class="display-field">@item.Comment_Description</div>
<div class="display-field">@item.Comment_CreateBy : @item.Comment_CreateDate </div>

</fieldset>
}

当调试上面的应用程序时,我收到以下错误消息

'IEnumerable' does not contain a definition for 'Discussion_Title' and no extension method 'Discussion_Title' accepting a first argument of type 'IEnumerable' could be found (are you missing a using directive or an assembly reference?)

最佳答案

您的模型类型为 IEnumerable<prjct.Models.DiscussionPreview_Model>你正试图像 prjct.Models.DiscussionPreview_Model 那样使用它,这是行不通的。你将不得不循环 IEnumerable然后使用 Html.DisplayFor对于 IEnumerable 中的每个元素,就像您在评论部分所做的那样。

关于c# - 'IEnumerable< >' does not contain a definition for ' ' 并且找不到接受类型为 '' 的第一个参数的扩展方法 'IEnumerable<>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32241322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com