我有一个主视图和两个部分视图。
1部分视图具有:
第二部分视图有:
我想要实现的功能,当Click Event
上出现Add Button
时,DropDownList
和TextBox
中的数据应出现在第二个部分视图{{1}内(另外TextBoxes
的数量取决于TextBoxes
收到的Clicks
的数量。我目前对如何传递数据并保留数据感到困惑。
以下是第一部分视图的代码(包括Add Button
和DropDownList
)..
TextBox
用户插入所需服务后,必须将第二个局部视图中的所有文本框值插入到数据库中。我的问题是我必须维护所有值但不将数据插入数据库。它将在使用后单击完成按钮插入。(我也可以在第二个局部视图中使用表,但该表的值必须可以插入DB中。)
答案 0 :(得分:1)
1 尝试渲染动作而不是渲染局部视图。
如果DropDown和Textbox中的值必须先保存在数据库中,这意味着您必须先提交数据。
因此,操作将从DB获取所需数据以呈现第二个局部视图并将其返回。
请参阅渲染操作:http://haacked.com/archive/2009/11/17/aspnetmvc2-render-action.aspx
<% using (Html.BeginForm("AddServices", "Controller1", FormMethod.Post, new { id = "form" }))
{%>
<%: Html.ValidationSummary(true) %>
<div class="edit-set">
<label>Nature of Service:</label>
<div class="editor-field">
<%: Html.DropDownList("ddlServiceType", (SelectList)ViewData["ServiceType"] as SelectList, "--Select Nature Of Service--", new { onchange = "FillServiceType();" })%>
<%: Html.HiddenFor(model => model.Id)%>
<label>Comment:</label>
<input type="text" id="comment" />
</div>
<input type="submit" value="+ Add More Service(s)" onclick="InsertService()" name="submitButton"/>
</div><input type="submit" value="Done" name="submitButton"/>
<%= Html.Action("MyAction", "Controller", new {ID = Model.id}) %>
<% } %>