我是MVC 1中的新人。
在我的项目中,我将IList分配给模型并使用forloop即时分配给Textbox,dropdox等......用户可以根据需要更改值。我想要的是,当用户点击页面顶部的SAVE ALL按钮时,我将如何以ILIST的形式获得aspx页面上的值。
这是我用来填充表单的代码....
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<% using (Html.BeginForm("MyController", "EditCopyRestaurantMealRate", FormMethod.Post, new { id = "frmEditCopyRestaurantMealRate" }))
{ %>
<%= Html.Submit("Save All Services", ApplicationPermissions.ManageContract, new { name = "submitButton" })%>
<table width="100%" class="edit_restaurant_form">
<col width="19%" />
<col width="30%" />
<col width="19%" />
<col width="*" />
foreach (var item in Model)
{
%>
<tr>
<th>
<label for="DateFrom">
Effective from:</label> <label class="mandatory">* </label>
</th>
<td>
<% string dtFrom = "";
dtFrom = item.Datefrom.ToString("dd-MMM-yyyy");
%>
<%= Html.TextBox("DateFrom", dtFrom)%>
</td>
<th>
<label for="DateTo">
Effective to:</label> <label class="mandatory">* </label>
</th>
<td>
<% string dtTo = "";
dtTo = item.Dateto.ToString("dd-MMM-yyyy");
%>
<%= Html.TextBox("DateTo", dtTo)%>
</td>
</tr>
<% }
%>
这是控制器代码。
public ActionResult MyController(string submitButton, IList<CMS.Model.VcmsRestaurant> AddendumMealRates)
{
// Need to receiv all value in list which is edited
return View(@"~\index.aspx", AddendumMealRates);
}
我将如何获得用户将在页面上编辑的MyController
中的值?
答案 0 :(得分:0)
您在控制器中创建一个方法来捕获回发。
如果是简单数据,您可以执行以下操作:
public ActionResult EditRestaurant(string dateFrom, string dateTo)
{
// do something with the values here.
}
或者创建一个可以封装更复杂数据的viewmodel:
public ActionResult EditRestaurant(EditRestaurantViewModel editRestaurantVM)
{
// do something with the values here.
}
正如我可以看到你试图回复一个项目列表,在表格中,我将这个添加到我的答案中:
据我所知,您无法轻松发布该数据结构,您需要使用像Knockout.js这样的javascript库,或者使用原始javascript / jquery来收集数据,然后发送它由AJAX回来。
答案 1 :(得分:0)
我在这里找到了ans。
public ActionResult EditRestaurant(IList<string> dateFrom, IList<string> dateTo)
{
// do something with the values here.
}