在Razor View中向foreach添加表单

时间:2014-10-27 17:09:50

标签: c# asp.net-mvc razor

我正在尝试在列表中添加表单foreach项,但是当我添加表单时...数据不会被包装。表单已创建,但随后立即关闭。这就是我的foreach的样子:

@foreach (var item in Model)
{
    <tr>
        <td>
            @using (Html.BeginForm("ReplaceEmployeeDocument", "Employee", FormMethod.Post, new {id = "replace-form", enctype = "multipart/form-data"}))
            {
                @Html.Hidden("doc", item)
                <div id="replace-document" style="display: none; background-color: white; padding: 15px;">
                    <h3><u>Replace Employee Document</u></h3>
                    <table>
                        <tr>
                            <td style="text-align: right;">
                                @Html.Label("File"):
                            </td>
                            <td>
                                <input type='file' name='fuDocument' id='fuDocument' class="form-control" style="height: 40px;" />
                            </td>

                        </tr>
                    </table>
                    <input type="submit" value="Replace" />
                </div>
            }
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Title)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.DocumentType)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.CreatedBy)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.CreatedDate)
        </td>
        @Html.HiddenFor(modelItem => item.EmployeeNumber)
        @Html.HiddenFor(modelItem => item.CompanyNumber)
        <td><a href="@item.FullUrl">View</a> | <a id="replace-button">Replace</a> | @Html.ActionLink("Delete", "DeleteEmployeeDocument", new { fileName = item.FullUrl, employeeNo = item.EmployeeNumber })</td>
    </tr>
}

这就是我的行动:

[HttpPost]
public ActionResult ReplaceEmployeeDocument(HttpPostedFileBase fuDocument, Models.EmployeeDocument doc)
{
}

这是渲染视图的样子:

<table id="results-table" class="table table-striped table-bordered table-condensed">
    <thead>
        <tr>
            <th>
                <u>Title</u>
            </th>
            <th>
                <u>Document Type</u>
            </th>
            <th>
                <u>Created By</u>
            </th>
            <th>
                <u>Created Date</u>
            </th>
            <th style="width: 180px;"></th>
        </tr>
    </thead>
    <tbody>
        <form action="/Employee/ReplaceEmployeeDocument" enctype="multipart/form-data" id="replace-form" method="post" style="padding-top: 5px; margin-top: 0px;">
        </form>                        
        <tr>
            <td>
                Mark Has Same File
            </td>
            <td>
                Green Sheet
            </td>
            <td>
                AJOHNSON
            </td>
            <td>
                10/24/2014 12:53:53 PM
            </td>
            <input data-val="true" data-val-number="The field EmployeeNumber must be a number." data-val-required="The EmployeeNumber field is required." id="item_EmployeeNumber" name="item.EmployeeNumber" type="hidden" value="3077">
            <input data-val="true" data-val-number="The field CompanyNumber must be a number." data-val-required="The CompanyNumber field is required." id="item_CompanyNumber" name="item.CompanyNumber" type="hidden" value="1">
            <td><a href="http://svr-corpsp1/app/employee/Employee Master Documents/3077_UPDATE.sql">View</a> | <a id="replace-button">Replace</a> | <a href="/Employee/DeleteEmployeeDocument?fileName=http%3A%2F%2Fsvr-corpsp1%2Fapp%2Femployee%2FEmployee%20Master%20Documents%2F3077_UPDATE.sql&amp;employeeNo=3077">Delete</a></td>
        </tr>
        <form action="/Employee/ReplaceEmployeeDocument" enctype="multipart/form-data" id="replace-form" method="post" style="padding-top: 5px; margin-top: 0px;">
        </form>                        
        <tr>
            <td id="replace-document" style="display: none;background-color: white; padding: 15px;">
                <h3><u>Replace Employee Document</u></h3>
                <table>
                    <tbody><tr>
                        <td style="text-align: right;">
                            <label for="File">File</label>:
                        </td>
                        <td>
                            <input type="file" name="fuDocument" id="fuDocument" class="form-control" style="height: 40px;">
                        </td>

                    </tr>
                </tbody></table>
                <input type="submit" value="Replace">
            </td>
            <td>
                Another Test
            </td>
            <td>
                Other
            </td>
            <td>
                AJOHNSON
            </td>
            <td>
                10/24/2014 3:24:18 PM
            </td>
            <input data-val="true" data-val-number="The field EmployeeNumber must be a number." data-val-required="The EmployeeNumber field is required." id="item_EmployeeNumber" name="item.EmployeeNumber" type="hidden" value="3077">
            <input data-val="true" data-val-number="The field CompanyNumber must be a number." data-val-required="The CompanyNumber field is required." id="item_CompanyNumber" name="item.CompanyNumber" type="hidden" value="1">
            <td><a href="http://svr-corpsp1/app/employee/Employee Master Documents/3077_1920x1200-Crimson.jpg">View</a> | <a id="replace-button">Replace</a> | <a href="/Employee/DeleteEmployeeDocument?fileName=http%3A%2F%2Fsvr-corpsp1%2Fapp%2Femployee%2FEmployee%20Master%20Documents%2F3077_1920x1200-Crimson.jpg&amp;employeeNo=3077">Delete</a></td>
        </tr>
    </tbody>
</table>

最新消息:

@foreach (var item in Model)
                {
                    <tr>
                        <td style="display: none;">
                            @using (Html.BeginForm("ReplaceEmployeeDocument", "Employee", FormMethod.Post, new {@class = "replace-form", enctype = "multipart/form-data"}))
                            {
                                @Html.Hidden("doc", (EmployeeDocument) item)
                                <div id="replace-document" style="display: none; background-color: white; padding: 15px;">
                                    <h3><u>Replace Employee Document</u></h3>
                                    <table>
                                        <tr>
                                            <td style="text-align: right;">
                                                @Html.Label("File"):
                                            </td>
                                            <td>
                                                <input type='file' name='fuDocument' id='fuDocument' class="form-control" style="height: 40px;" />
                                            </td>

                                        </tr>
                                    </table>
                                    <input type="submit" value="Replace" />
                                </div>
                            }
                        </td>
                        <td>
                            @Html.DisplayFor(modelItem => item.Title)
                        </td>
                        <td>
                            @Html.DisplayFor(modelItem => item.DocumentType)
                        </td>
                        <td>
                            @Html.DisplayFor(modelItem => item.CreatedBy)
                        </td>
                        <td>
                            @Html.DisplayFor(modelItem => item.CreatedDate)
                        </td>
                        @Html.HiddenFor(modelItem => item.EmployeeNumber)
                        @Html.HiddenFor(modelItem => item.CompanyNumber)
                        <td><a href="@item.FullUrl">View</a> | <a id="replace-button">Replace</a> | @Html.ActionLink("Delete", "DeleteEmployeeDocument", new { fileName = item.FullUrl, employeeNo = item.EmployeeNumber })</td>
                    </tr>

                }

0 个答案:

没有答案