如何创建一个视图来添加一个新项目到视图模型中的列表?
所以我有一个视图模型的对象列表在它(视图模型也有1个其他对象在它)。基本上,这个列表将是注释(所以我可能有0到x条注释)。
我正在使用VS 2010(我不认为它是剃刀视图引擎?)
这是我的视图,我想有一个选项来添加一个新的项目到列表
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<JPROCommunitydataListings.ViewModels.dataWithCommentsViewModel>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
data Solution
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<p>data Description# <%: Model.data.Description %></p>
<p>data ParameterID# <%: Model.data.ParameterID %></p>
<%--<h2>dataWithComments</h2>--%>
<table class="table table-striped table-hover">
<tr>
<th>
Comment
</th>
</tr>
<% foreach (var Comment in Model.Comments) { %>
<td>
<%: Comment.comment1%>
</td>
<% } %>
</table>
<% using (Html.BeginForm()) {%>
<%: Html.ValidationSummary(true) %>
<fieldset>
<legend>Add Comment</legend>
<div class="editor-label">
<"label">
What to do here????????
<%--<%: Html.LabelFor(model => model.Comments[0].comment1) %>--%>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.Comments.comment1)%>
<%: Html.ValidationMessageFor(model => model.Comments[0].comment1)%>
</div>
What to do here????????
<p>
<input type="submit" value="Search" />
</p>
</fieldset>
<% } %>
</fieldset>
<p>
<%: Html.ActionLink("Search", "Search") %>
</p>
</asp:Content>
"What to do here"
你需要一个表单:
<form action="/ControlerName/AddComment" method="POST">
...
<%: Html.TextBox("CommentToAdd")%>
<%: Html.Hidden("PostIdToAddComment")%>
<input type="submit" value="Search" />
</form>
在控制器中,您将您的评论保存到DB,然后重定向到将显示页面的原始操作,因此评论应该显示假设您正在查询数据库中的所有评论:
[HttpPost]
public ActionResult AddComment(string commentToAdd, int postIdToAddComment)
{
//do your database stuff here to add comment
return RedirectToAction("DataWithCommentsOrWhateverTheNameOfTheActionIsForTheOriginalPage")
}