gpt4 book ai didi

c# - ASP.NET 核心 : How to add a second model to my View

转载 作者:行者123 更新时间:2023-12-04 08:43:37 25 4
gpt4 key购买 nike

我的索引 View 有一个如下所示的模型:

@model IEnumerable<WebSurvey.Data.Models.Question>
并由此使用:
<tbody>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Question1)
</td>
<td>
@Html.DisplayFor(modelItem => item.ReplyOptions)
</td>
<td>
@Html.DisplayFor(modelItem => item.Group)
</td>
<tr>
}
</tbody>
但我也需要一个看起来像这样的模型:
@model WebSurvey.Data.Models.Question
这样我就可以使用“asp-for”中的“Questions”属性来创建一个新问题,因为它不适用于当前模型。
我的问题:有没有办法在我看来创建另一个模型?
希望你能帮助我:)

最佳答案

您应该考虑始终创建一个名称与您的 View 相对应的模型,而不是首先关注您可能要显示的数据。
如果您的 View 名为 Questions,则您应该创建一个名为 QuestionsViewModel 的模型。

public class QuestionsViewModel { }
之后,您可以考虑要添加哪些数据,因此如果您有问题列表,请将其作为属性添加到类中。
public class QuestionsViewModel
{
public IEnumerable<Question> Questions { get; set; }
}

/// In your view
@foreach (var question in Model.Questions)
{
}
后来你决定你还需要一个 User .
public class QuestionsViewModel
{
public IEnumerable<Question> Questions { get; set; }
public User User { get; set; }
}

/// In your view
<span>@Model.User.Username</span>
@foreach (var question in Model.Questions)
{
}
关键是,您现在可以添加任意数量的属性。

关于c# - ASP.NET 核心 : How to add a second model to my View,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64441765/

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