如何创建视图以将新项目添加到视图模型中的列表?
所以我有一个视图模型,里面有一个对象列表(视图模型中还有一个其他对象)。基本上,列表将是注释(因此我可能有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>
答案 0 :(得分:0)
“这里做什么”
您需要一份表格:
<form action="/ControlerName/AddComment" method="POST">
...
<%: Html.TextBox("CommentToAdd")%>
<%: Html.Hidden("PostIdToAddComment")%>
<input type="submit" value="Search" />
</form>
在控制器中,您将注释保存到数据库,然后重定向回显示该页面的原始操作,因此,假设您要查询数据库中的所有注释,注释应显示:
[HttpPost]
public ActionResult AddComment(string commentToAdd, int postIdToAddComment)
{
//do your database stuff here to add comment
return RedirectToAction("DataWithCommentsOrWhateverTheNameOfTheActionIsForTheOriginalPage")
}