2017-09-24 55 views
-1

當我通過點擊行上的刪除按鈕從下面的代碼中刪除一個列表項目ex:4中的第二個項目時,它在視圖中顯示1,2,3而不是1,3,4 。當我調試視圖時,它顯示正確的值,但是在頁面呈現TextBoxFor AeroDromeID顯示錯誤。此外刪除機場按鈕顯示正確的值。有人能幫我解決這個問題嗎?不正確的項目在MVC中被刪除

控制器

[HttpPost] 
    [MultipleButton(Name = "action", Argument = "DeleteAerodrome")] 
    public ActionResult DeleteAerodrome(FormCollection fc) 
    { 
     int AerodromeID = Int32.Parse(fc["action:DeleteAerodrome"]); 
     var studentSignoutModel = new StudentSignoutViewModel(); 
     UpdateModel<StudentSignoutViewModel>(studentSignoutModel); 
     if (studentSignoutModel.Aerodromes.Count > 0) 
      studentSignoutModel.Aerodromes.RemoveAll(m => m.AerodromeID == AerodromeID); 
     return View("StudentSignoutStageView", studentSignoutModel); 
    } 

查看

@if (Model.Aerodromes != null && Model.Aerodromes.Any()) 
         { 
          for (int i = 0; i < Model.Aerodromes.Count; i++) 
          { 
           <tr> 
            <td>@Html.TextBoxFor(a => Model.Aerodromes[i].AerodromeID, new { @class = "form-control"})</td> 
            <td>@Html.TextBoxFor(a => Model.Aerodromes[i].CloudBase, new { @class = "form-control" })</td> 

            <td>@Html.TextBoxFor(a => Model.Aerodromes[i].Visibility, new { @class = "form-control" })</td> 

            <td>@Html.TextBoxFor(a => Model.Aerodromes[i].Wind, new { @class = "form-control" })</td> 

            <td>@Html.TextBoxFor(a => Model.Aerodromes[i].Crosswind, new { @class = "form-control" })</td> 

            <td>@Html.TextBoxFor(a => Model.Aerodromes[i].InterTempo, new { @class = "form-control" })</td> 
            <td> 
            <input type="submit" id="BtnDelAerodrome" value="@Model.Aerodromes[i].AerodromeID" name="action:DeleteAerodrome" style="font-size:1em" class="btn btn-danger" onclick="return confirm('Are you sure you want to delete the record with AerodromeID = '+ @Model.Aerodromes[i].AerodromeID);" /> 
            </td> 
           </tr> 
          } 
         } 
+0

您的具體問題是什麼?在代碼中使用斷點並根據需要檢查變量的值。 (例如:動作方法中的AerodromeID) – Shyju

+0

實際上,當它觸及視圖時,集合在aerodromeid中顯示1,3,4。但是當它呈現時,它在頁面中顯示123,這很奇怪 –

回答

0

我覺得應該有使用數據綁定的概念,而從服務器端渲染,當我們使用TextBoxFor的錯誤。 當我用模型聯編程序使用html標籤輸入時,它工作。 這很容易複製。