[英]ASP.NET MVC The data doesnt come to controller from partial view used
我有主視圖和主模型。
在此視圖內,我有這樣的線條
foreach (var loadTask in Model.LoadTasks)
{
Html.RenderPartial("TripUpdateTask", new TripUpdateTaskModel { Task = loadTask });
}
所以在主模型中
public List<OrderTaskRecord> LoadTasks { get; set; }
子模型是:
public class TripUpdateTaskModel
{
public OrderTaskRecord Task { get; set; }
}
我玩了,但仍然無法保存數據。 這是當前的簡單外觀。
<tr>
<td>Actual Time:</td>
<td>@Html.TextBoxFor(m => m.Task.Task.ActualTime)</td>
</tr>
在原始html中,這些時間控件具有相同的名稱和ID。 所以我不知道該怎么做才能節省下來。
我的意思是在主視圖上輸入的數據可以返回到控制器,但不是從局部視圖
我在這樣的主視圖中使用Html.BeginForm和fieldset:
@using (Html.BeginForm("TripUpdate", "SupplierBookingUpdate", FormMethod.Post, new { id = "SupplierBookingUpdateSave" }))
{
<fieldset>
.. table
</fieldset>
}
我建議不要綁定您的OrderTaskRecord
集合,而不是嘗試分別命名每個文本框。 這樣,您無需擔心許多文本框及其名稱。
Scott Hanselman對該主題做了很好的介紹。
您也可以在這里嘗試另一個示例: http : //haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/
如果要將自定義名稱傳遞給正在生成的input
,請使用此名稱。 它將html屬性傳遞給TextBoxFor
方法:
@Html.TextBoxFor(m => m.Task.Task.ActualTime, new { Name = "yourName" )
當然,您可以在此處創建計數器等,以使其保持唯一。
您可以稍后通過獲取Form數據在Controller中提取它們:
Request.Form["yourName"];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.