我在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 :(得分: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。
由于