Asp.net mvc Asp.NETMVC视图:创建和关联表
我在ASP.NETMVC中有一个留言板,当用户创建一篇新文章时,他们必须选择一个类别,当我创建一个视图(创建)时,字段(类别)不会出现 数据库有一个中间表MessageToCatRel,其中包含一个messageID和一个CatId。我认为这就是让MVC困惑的地方。目前我正在做以下工作,但不喜欢使用Request.Form。如何让它像其他字段一样发回对象Asp.net mvc Asp.NETMVC视图:创建和关联表,asp.net-mvc,Asp.net Mvc,我在ASP.NETMVC中有一个留言板,当用户创建一篇新文章时,他们必须选择一个类别,当我创建一个视图(创建)时,字段(类别)不会出现 数据库有一个中间表MessageToCatRel,其中包含一个messageID和一个CatId。我认为这就是让MVC困惑的地方。目前我正在做以下工作,但不喜欢使用Request.Form。如何让它像其他字段一样发回对象 public ActionResult Create(Message messageToCreate) //Post back from
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();
改变
到
这就是你要找的吗
也许是这个
public ActionResult Create(Message messageToCreate, MessageCategory category)
在标记中:
<form ..> <input type='hidden' name='MessageCtaegory.CategoryID'>1</input></form>
1
谢谢你的回复,我没有真正做到我想要的。我坚持使用ViewData一段时间
谢谢行动的签名是什么?
public ActionResult Create(Message messageToCreate, MessageCategory category)
<form ..> <input type='hidden' name='MessageCtaegory.CategoryID'>1</input></form>