【发布时间】:2011-03-26 23:23:10
【问题描述】:
我通过我的控制器渲染一个视图,如下所示:
public ViewResult Forum([DefaultValue(0)]int id)
{
ForumMessagesViewModel forumMsgs = new ForumMessagesViewModel(_articles.GetAllForumMessages());
return View(forumMsgs);
}
在该视图 .aspx 中,我想启用消息发布。所以我创建了以下表单:
<% using (Html.BeginForm("AddForumMessage", "Home"))
{ %>
<fieldset>
<legend>add message</legend>
<label id="NameLabel">name:</label>
<%= Html.TextBoxFor(model => model.newMessage.MessagePosterName) %>
<label id="TitleLabel">subject:</label>
<%= Html.TextBoxFor(model => model.newMessage.MessageSubject)%>
<label id="ContentTextLabel">contents:</label>
<%= Html.TextBoxFor(model => model.newMessage.MessageContents)%>
<%= Html.HiddenFor(model => model.parentMessageID, 0) %>
<div>
<input type="submit" value="submit"/>
</div>
</fieldset>
<%} %>
想法是用这个Action(在家庭控制器中)捕获上述表单:
[HttpPost]
public ActionResult AddForumMessage(ForumMessagesViewModel newMessage)
{
/* Add new forum message to DB */
return Forum(0);
}
但"Forum" 操作(生成视图)总是捕获它。
我做错了什么?
谢谢,
汤姆
【问题讨论】:
标签: asp.net-mvc forms