【发布时间】:2017-07-20 10:43:13
【问题描述】:
我现在在单击提交按钮时显示数据列表,数据应该转到特定控制器,但我无法做到这一点。下面是我显示数据的部分视图:
@model IEnumerable<WebApplication1.Models.TicketDetails>
@using (Html.BeginForm("SubmitHours", "TicketDetails", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
if (Model.Count() > 0)
{
<hr />
<table cellpadding="0" cellspacing="0">
<tr>
<th>Ticket No.</th>
<th>Summary</th>
<th>Status</th>
<th>Action Date</th>
<th>Billable Hours</th>
</tr>
@foreach (var ticketdata in Model)
{
<tr>
<td>@Html.DisplayFor(modelitem => ticketdata.TicketDetailsGuid)</td>
<td>@Html.DisplayFor(modelitem => ticketdata.Summary)</td>
<td>@Html.DisplayFor(modelitem => ticketdata.CAStatus)</td>
<td>@Html.DisplayFor(modelitem => ticketdata.ActionDate)</td>
<td>@Html.TextBox("Comment", null, new { @class = "form-control" }) </td>
</tr>
}
</table>
}
<input type="submit" value="Submit" />
@*<input type="button" value="Submit" onclick="location.href='@Url.Action("SubmitHours", "TicketDetails")'" />*@
}
显示上述数据的控制器如下:
public ActionResult Index()
{
List<TicketDetails> _TicketDetails = new List<TicketDetails>();
_TicketDetails = (from ticketdata in _entities.AccMng_TicketDetails.AsEnumerable()
select new TicketDetails
{TicketDetailsGuid = ticketdata.TicketDetailsGuid,
ActionBy = ticketdata.ActionBy,
CAStatus = ticketdata.CAStatus,
Comment = ticketdata.Comment,
Summary = ticketdata.Summary}).ToList();
return View(_TicketDetails);
}
现在我只想将部分数据发送到特定控制器,但该数据未发送:
[HttpPost]
public ActionResult SubmitHours(List<AccMng_TicketDetails> _AccMng_TicketDetails)
{
return View(_AccMng_TicketDetails);
}
【问题讨论】:
-
您的表单不包含与
AccMng_TicketDetails关联的属性的任何表单控件 - 您拥有的唯一表单控件是用于名为Comment的属性,因此方法参数需要为IEnumerable<string> comment(作为旁注,您的TextBox()正在生成重复的id属性,这是无效的html) -
@StephenMuecke 感谢您的回复,但删除评论文本框数据后没有通过
-
如果您删除了文本框,则没有可以发布的内容。表单仅发布其表单控件的名称/值对(而您没有)
标签: sql asp.net-mvc entity-framework