可以';t在mvc5中获取特定标题的下拉列表

本文关键字:获取 标题 下拉列表 mvc5 可以 | 更新日期: 2023-09-27 18:00:05

我正在努力改进asp.net mvc5,尽管我遇到了问题。我制作了游戏模型,你可以在其中创建游戏。在我的帖子/创建中,我会收到一个我在游戏模型中添加的游戏的下拉列表。

我还有我的"标题/下一个游戏",我也想要一个下拉列表。但现在它只需要一个字符串,但我想要一个下拉列表,比如GameId,我该如何实现这一点?

这是我的后模型

public class Post
{
    [Key]
    public int PostId { get; set; }
    //URL
    [Display(Name = "URL")]
    [StringLength(80)]
    public string Url { get; set; }
    //User
    [Display(Name = "User")]
    public virtual ApplicationUser User { get; set; }
    //Game
    [Display(Name = "Game")]
    public int GameId { get; set; }
    [Display(Name = "Next Game")]
    public string Title { get; set; }
    public virtual Game Game { get; set; }
    //Time
    private DateTime? _date;
    public DateTime? Date
    {
        get
        {
            if (_date == null || _date.ToString() == "1/1/0001 12:00:00 AM")
            {
                return _date = DateTime.Now;
            }
            return _date;
        }
        set
        {
            _date = value;
        }
    }

这是我的游戏模型

    public class Game
{
    [Key]
    public int GameId { get; set; }
    //Game
    [Display(Name = "Game")]
    public string Title { get; set; }
    //User
    [Display(Name = "User")]
    public virtual ApplicationUser User { get; set; }
}

可以';t在mvc5中获取特定标题的下拉列表

我会从post模型中删除gameid和游戏标题属性。然后我会将虚拟游戏属性更改为集合,这样你就可以从游戏模型中获得所有游戏ID和标题。你应该尽量不要重复属性。在后模型上使用类似公共虚拟列表的东西

如果我理解正确,您希望通过MVC Helper填充下拉列表。如果您喜欢模型中的SelectListItem类型而不是字符串,则可以使用IEnumerable或List。SelectListItem对象具有诸如key(这是id)、value(值名称)、select、disabled等属性。