gpt4 book ai didi

c# - 使用模型类的 Asp.net MVC 下拉列表绑定(bind)

转载 作者:太空宇宙 更新时间:2023-11-03 11:27:53 25 4
gpt4 key购买 nike

我正在编写需要与下拉列表捆绑在一起的 MVC 列表页面。
由于我对 ASP.net MVC 还很初级,所以我不知道如何使下拉列表正确运行并动态选择。

我有两个模型类

public class CycleType
{
public int CycleTypeID { get; set; }
public string Type { get; set; }

public List<CycleModel> CycleModels { get; set; }
}

-----------------------------------------------------------

public class CycleModel
{
public int CycleModelID { get; set; }
public int CycleTypeID { get; set; }
public string Model { get; set; }

public virtual CycleType CycleType { get; set; }
}

然后是一个Controller类,

public class CycleModelController : Controller
{
UnitOfWork<CycleModel> unitOfWork = new UnitOfWork<CycleModel>();
UnitOfWork<CycleType> unitOfWork_cycleType = new UnitOfWork<CycleType>();

...

[HttpGet]
public ActionResult Edit(int CycleModelID)
{
CycleModel cycleModel = unitOfWork.GenericTEntityRepository.GetByID(CycleModelID);
ViewBag.CycleType = new SelectList(unitOfWork_cycleType.GenericTEntityRepository.Get(orderBy: CycleTypes => CycleTypes.OrderBy(CycleType => CycleType.Type)));
return View(cycleModel);
}

...
}

然后是一个 Razor 文件,

<div class="editor-field">
@*Html.DropDownList("CycleType")*@
@*Html.EditorFor(model => model.CycleTypeID)*@

@Html.DropDownListFor(model => model.CycleTypeID,
new SelectList(ViewBag.CycleType, "Type", "CycleTypeID"))
@Html.ValidationMessageFor(model => model.CycleTypeID)
</div>

当我运行我的程序时,我收到错误消息

DataBinding: 'System.Web.Mvc.SelectListItem' does not contain a property with the name 'Type'.

1)我怎样才能更正这段代码?
2)如何动态选择项目?

我们将不胜感激每一个建议。

最佳答案

ViewBag.CycleType 已经是一个 SelectList。因此您可以直接使用它。

@Html.DropDownListFor(model => model.CycleTypeID, (SelectList)ViewBag.CycleType)

您可以按如下方式更改 Controller 代码。

ViewBag.CycleType = new SelectList(
unitOfWork_cycleType.GenericTEntityRepository.Get(
orderBy: CycleTypes => CycleTypes.OrderBy(CycleType => CycleType.Type)),
"Type", "CycleTypeID");

关于c# - 使用模型类的 Asp.net MVC 下拉列表绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8800324/

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