如何将html表返回模型?

| 我将以著名的NerdDinner为例。 我有一个搜索页面,用户可以在其中输入搜索字符串,然后在下表中查看结果。用户还可以将更多结果添加到表中,如下所示: 今天搜索晚餐并显示在表格中。 明天搜索晚餐,并将结果添加到表中。 该表现在将显示今天和明天的晚餐。 用户还可以通过逐一单击将晚餐从餐桌上移开。 我需要用表中的结果生成一个pdf文件。不像打印屏幕,因为pdf具有自己的布局。我只需要表中的数据。最好在晚餐模型列表中。 现在,我可以从Dinner模型列表中生成pdf。但是,一旦我将它们打印到表格上,并且用户对其进行了操作,我不知道如何将其返回到Dinner模型列表中。 另一个解决方案是将Id \ s隐藏在表中,然后使用表中的Id \ s在数据库中进行另一次搜索(在用户对其进行操作之后)。至少我会以晚餐列表的形式得到结果。但这对我来说似乎是多余的。 有没有人遇到过类似的问题,您是如何解决的?     
已邀请:
        您可以将表格放在html
<form>
内,除标签外,每行上还可以包含一个隐藏字段:
@model IEnumerable<Dinner>
@using (Html.BeginForm())
{
    <table>
        <thead>
            <tr>
                <th>Prop1</th>
                <th>Prop2</th>
                <th>Prop3</th>
            </tr>
        </thead>
        <tbody>
            @Html.EditorForModel()
        </tbody>
    </table>
    <input type=\"submit\" value=\"Export to PDF\" />
}
并在编辑器模板中:
@model Dinner
<tr>
    <td>
        @Html.DisplayFor(x => x.Prop1)
        @Html.HiddenFor(x => x.Prop1)
    </td>
    <td>
        @Html.DisplayFor(x => x.Prop2)
        @Html.HiddenFor(x => x.Prop2)
    </td>
    <td>
        @Html.DisplayFor(x => x.Prop3)
        @Html.HiddenFor(x => x.Prop3)
    </td>
</tr>
现在,可以将此表单提交给以下控制器操作:
public ActionResult GeneratePdf(IEnumerable<Dinner> dinners)
{
    byte[] pdf = ...
    return File(pdf, \"application/pdf\", \"dinners.pdf\");
}
您还可以签出以下博客文章,以管理可变长度列表,以便在添加/删除元素时使输入字段名称与活页夹保持同步。     

要回复问题请先登录注册