gpt4 book ai didi

c# - 从下拉列表中选择一种类型的模型以填充 ASP.NET MVC 中另一个模型的属性

转载 作者:太空宇宙 更新时间:2023-11-03 15:54:32 24 4
gpt4 key购买 nike

我有一个名为 Player 的模型:

public class Player
{
public int ID { get; set; }
public string Name { get; set; }
public int Wins { get; set; }
public int Draws { get; set; }
public int Losses { get; set; }
public int League { get; set; }
[Display(Name="GF")]
public int GoalsFor { get; set; }
[Display(Name="GA")]
public int GoalsAgainst { get; set; }

public int Points
{
get { return Wins * 3 + Draws; }
}
}

.. 和另一个名为 Result 的模型:

public class Result
{
public int ID { get; set; }
public Player Winner { get; set; }
public Player Loser { get; set; }
public bool Draw { get; set; }
[Display(Name="Player A")]
public Player PlayerA { get; set; }
[Display(Name = "Player B")]
public Player PlayerB { get; set; }
[Display(Name = "Player A Goals")]
public int PlayerAGoals { get; set; }
[Display(Name = "Player B Goals")]
public int PlayerBGoals { get; set; }
}

当我想创建一个新结果时,玩家列表被添加到 Controller 中的 ViewBag 并传递给 View :

public ActionResult Create()
{
IEnumerable<Player> players = db.Players.ToList();
ViewBag.Players = new SelectList(players, "Name", "Name");

return View();
}

但是,当我想添加一个新结果并从 View 的下拉列表中选择两个玩家的名字时,Result 对象上的这些 Player 属性为空。我希望它们包含 Player 对象。

下拉列表的填充方式是这样的:

@Html.LabelFor(model => model.PlayerA, new { @class = "control-label col-md-2" })
@Html.DropDownList("Players", "-- Select Player --")

有人可以指出正确的方向,告诉我如何在下拉列表中正确填充这些属性,或者如何将 Player 对象正确分配给 Result.PlayerA 和 Result.PlayerB 属性吗?

最佳答案

您需要定义下拉列表的项目。

 <div class="editor-field">
@{
List<SelectListItem> items = new List<SelectListItem>();
//You may want to loop to generate your items.
items.Add(new SelectListItem
{
//Or you code that generates your SelectListItems
Text = "Your_Text_1",
Value = "Your Value_1",
});
items.Add(new SelectListItem
{
//Or you code that generates your SelectListItems
Text = "Your_Text_2",
Value = "Your_Value_2",
});
}
@Html.DropDownListFor(model => model.PlayerA, items)
@Html.ValidationMessageFor(model => model.PlayerA)

关于c# - 从下拉列表中选择一种类型的模型以填充 ASP.NET MVC 中另一个模型的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24168872/

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