2015-06-28 65 views
0

我試圖用asp.net mvc5做得更好,我怎麼會遇到問題。我製作了Gamemodel,您可以在其中創建遊戲。在我的帖子/創建中,我獲得了我在遊戲模型中添加的遊戲的下拉列表。在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; } 
} 
+0

https://stackoverflow.com/questions/31115142/asp-net-mvc5-value- dosent-save-to-the-database/31122485#31122485 –

回答

1

我就從樁模型刪除遊戲ID和遊戲標題屬性。然後,我會將虛擬遊戲屬性更改爲一個集合,以便您可以從遊戲模型中獲取所有遊戲和遊戲。你應該儘量不要重複屬性。在帖子模型上使用類似公共虛擬列表的內容

+0

這是否也意味着如果我想在稍後添加其他遊戲時需要更改代碼?而不是去遊戲/創建? –

0

如果我理解正確,您希望通過MVC Helper填充下拉列表。如果您喜歡在模型中使用SelectListItem而不是字符串,則可以使用IEnumerable或List。 SelectListItem對象具有諸如鍵(這是id),值是值名稱,選擇,禁用等屬性

+0

我明白了,我會試試看。 現在GameId得到了填充我的遊戲數據庫中的內容,並且我希望將它用於'下一個遊戲'以及。 –