2009-10-08 65 views
0

我有一個ASP.Net MVC留言板,當用戶創建一個新的職位,他們必須選擇一個類別,當我創建一個視圖(創建)字段(分類)不會出現?Asp.Net MVC視圖:創建和關係表

數據庫有一箇中間表MessageToCatRel,它包含一個messageID和一個CatId。我認爲這是令人困惑的MVC。目前我正在做以下工作,但不喜歡使用Request.Form的想法。我怎樣才能讓它像其他領域一樣發回對象?

public ActionResult Create(Message messageToCreate) //Post back from Message Post 
      { 
       if (!ModelState.IsValid) 
       { 
        this.LoadCategoryViewData(); 
        return View(); 
       } 

       //Now try and save this in the Database /

/And Save 
       IMessageRepository repo = new MessageRepository(); 
       MessageCategory curCatRel = new MessageCategory(); 
       curCatRel.CategoryID = Convert.ToInt32(Request.Form["Categories"]); 

       messageToCreate.MessageCategories.Add(curCatRel); 
       messageToCreate.CreatedBy = 1; //Temp messure 
       messageToCreate.PublishDateTime = DateTime.Now; 

       repo.AddMessage(messageToCreate); 
       repo.Save(); 
+0

Action的簽名是什麼? – 2009-10-08 14:37:33

+0

已更新的主帖。 – LiamB 2009-10-08 15:30:27

回答

0

感謝您的答覆,並沒有真正做我想要的。我堅持使用ViewData一點。

謝謝

1

變化

public ActionResult Create(Message messageToCreate) 

public ActionResult Create(Message messageToCreate, int Categories) 

是這是你在找什麼?

也許這樣?

public ActionResult Create(Message messageToCreate, MessageCategory category) 

,這在標記:

<form ..> <input type='hidden' name='MessageCtaegory.CategoryID'>1</input></form>