gpt4 book ai didi

asp.net - ListBoxFor 没有绑​​定我的 View 模型

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

我知道这个问题已经被问到了相当多的问题。

here

here

但我仍然无法弄清楚问题所在。

我正在开发一个博客来自学 MVC 框架。现在,当我发布下面的 View 时,ListBoxFor 助手不会将任何值绑定(bind)到我的模型。该列表成功包含所有类别,但是当 POST Controller 返回 View 模型时,类别对象为空。

这是 View 模型:

public class PostViewModel
{
public Post Posts { get; set; }
public IEnumerable<Category> Categories { get; set; }
}

Controller :
    public ActionResult Create()
{
PostViewModel post = new PostViewModel();
post.Categories = db.ListCategories();
return View(post);
}

风景:
<p>@Html.ListBoxFor(model => model.Categories, new MultiSelectList(Model.Categories, "CategoryID", "CategoryName"))</p>

最佳答案

我相信您的 View 模型中应该有一个数组属性,所选 ID 将绑定(bind)到该属性。

public class PostViewModel
{
public Post Posts { get; set; }
public int[] SelectedCategoryIds { get; set; }
public IEnumerable<Category> Categories { get; set; }
}

并更改您的 Html.ListBoxFor调用 SelectedCategoryIds属性(property)。
<p>@Html.ListBoxFor(model => model.SelectedCategoryIds, new MultiSelectList(Model.Categories, "CategoryID", "CategoryName"))</p>

顺便说一句:现在您正在为 SelectedCategoryIds 创建一个列表框。属性,如果您有列表的标签,则应将其更改为 SelectedCategoryIds属性(property)也。
@Html.LabelFor(model => model.SelectedCategoryIds, "Categories")

( "Categories" 是标签文本)

关于asp.net - ListBoxFor 没有绑​​定我的 View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7966201/

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