Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Html.begin将内容放在结束后标记_C#_Asp.net Mvc - Fatal编程技术网

C# 使用Html.begin将内容放在结束后标记

C# 使用Html.begin将内容放在结束后标记,c#,asp.net-mvc,C#,Asp.net Mvc,所以我有一个局部视图,在其中我创建了一个表单 @using(Html.BeginForm("UpdateTimesheet", "Entry", FormMethod.Post, new { id = @i })) { <td>@Html.DropDownListFor(x => x.TimeEntry.LocationId, Model.LocationList, "Please select a location")</td> <td>

所以我有一个局部视图,在其中我创建了一个表单

@using(Html.BeginForm("UpdateTimesheet", "Entry", FormMethod.Post, new { id = @i }))
{
    <td>@Html.DropDownListFor(x => x.TimeEntry.LocationId, Model.LocationList, "Please select a location")</td>
    <td>@Html.DropDownListFor(x => x.TimeEntry.Equipment.Code, Model.EquipmentList, "Please select equipment")</td>
    <td>@Html.DropDownListFor(x => x.TimeEntry.Staff.PayrollId, Model.StaffList, "Please select staff")</td>
    <td>@Html.DropDownListFor(x => x.TimeEntry.Task.Name, Model.TaskList, "Please select a task")</td>
    <td>@Html.EditorFor(x => x.TimeEntry.LengthOfTime)</td>
    <td>@Html.DisplayFor(x => x.TimeEntry.EventDateTime)</td>
    <td>@Html.DisplayFor(x => x.TimeEntry.ReceivedDateTime)</td>
    <td>
        @Html.ActionLink("Cancel", "DisplayTimesheet", new { id = Model.TimeEntry.Id }, new { @class = "edit" })
        | 
        <a style="cursor: pointer" onclick="submitEdit(@i);">Save</a>
    </td>
}
但是呈现的HTML会立即关闭表单,然后是大括号内的HTML。例如:

<form action="/Entry/UpdateTimesheet" id="edit1" method="post"></form>
<td>
    <select data-val="true" data-val-number="The field LocationId must be a number." id="TimeEntry_LocationId" name="TimeEntry.LocationId">
        <option value="">Please select a location</option>
        <option value="1">Location 1</option>
        <option selected="selected" value="3">Location 1</option>
    </select>
</td>
等等。此局部视图正在插入到表行中


知道为什么会发生这种情况以及我如何解决它吗?

您不需要在参数中包含“@”


@使用html.BeginFormUpdateTimesheet、Entry、FormMethod.Post、new{id=i}可以正常工作

您不需要在参数中包含“@”


@使用html.BeginFormUpdateTimesheet、Entry、FormMethod.Post、new{id=i}可以正常工作

这可能与您试图将表单置于td标签之上有关,这基本上将表单置于tr中;这是不正确的。你应该试着把表格放在td里面而不是外面

这可能与您试图将表单置于td标签之上有关,这基本上将表单置于tr中;这是不正确的。你应该试着把表格放在td里面而不是外面

您要在哪个标签中插入分部代码?这是一辆汽车吗?也看到了,是的,这是一个。。。听起来这就是问题所在你要在哪个标签中插入你的部分?这是一辆汽车吗?也看到了,是的,这是一个。。。听起来这就是问题所在可能是这样,但与OP报告的问题无关。可能是这样,但与OP报告的问题无关。是的,这是由于试图直接在tr标记内呈现表单造成的。我必须重新考虑我的方法来避免这种情况是的,这是由于试图直接在tr标记内呈现表单造成的。我必须重新考虑我的方法来避免这种情况