簡體   English   中英

ASP.NET MVC數據不會從使用的部分視圖傳到控制器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM