0

我是 MVC 1 的新手。

在我的项目中,我将 IList 分配给模型并使用 forloop 分配给 Textbox 、 dropdox 等...用户可以根据需要更改值。我想要什么,当用户单击页面顶部的“保存所有”按钮时,我将如何以 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>&nbsp;<label class="mandatory">*&nbsp;</label>
        </th>
        <td>
            <% string dtFrom = "";

               dtFrom = item.Datefrom.ToString("dd-MMM-yyyy");
            %>
            <%= Html.TextBox("DateFrom", dtFrom)%>
        </td>
        <th>
            <label for="DateTo">
                Effective to:</label>&nbsp;<label class="mandatory">*&nbsp;</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用户将在页面上编辑的值?

4

2 回答 2

0

在这里我找到了答案。

public ActionResult EditRestaurant(IList<string> dateFrom, IList<string> dateTo)
{
// do something with the values here.
}
于 2013-08-19T06:52:00.917 回答
0

您在控制器中创建一个方法,该方法将捕获回发。

如果它是简单的数据,您可以执行以下操作:

public ActionResult EditRestaurant(string dateFrom, string dateTo)
{
    // do something with the values here.
}

或者创建一个视图模型,可以封装更复杂的数据:

public ActionResult EditRestaurant(EditRestaurantViewModel editRestaurantVM)
{
    // do something with the values here.
}

正如我所看到的,您正在尝试在表格中回发项目列表,我会将其添加到我的答案中:

据我所知,您不能轻易地发回该数据结构,您要么需要使用像 Knockout.js 这样的 javascript 库,要么使用原始 javascript/jquery 来收集数据,然后通过 AJAX 将其发回。

于 2013-07-22T07:33:59.443 回答