Asp.Net MVC视图:创建和关系表

时间:2009-10-08 10:31:27

标签: 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();

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

感谢您的回复,并没有真正做到我想要的。我坚持使用ViewData。

由于