Это код C # MVC, в котором после поиска записей в базе данных я пытаюсь отобразить записи в каждой строке (который работает) . Каждая строка состоит из кнопки Update School
и других деталей, включая ChdId
. После нажатия этой кнопки мой вид должен вернуть schId
(после выбора школы из выпадающего списка) и ChdId
, соответствующих этой строке. Но после отправки Update School
любой строки я получаю ChdId
первой строки всегда в моем контроллере (не той строки, которую я обновляю) .
Вопрос
Кто-нибудь когда-нибудь сталкивался с этой проблемой раньше? Или кто-нибудь знает, почему это происходит, или что я делаю не так?
Пожалуйста, проверьте мой код ниже и спасибо за проверку моего вопроса!
Контроллер :
[HttpPost]
public ActionResult UpdateSchool(int SchoolNames, int ChdId, Child model)
{
}
View
@model Ass4Final.Models.Child
@{
ViewBag.Title = "Search";
var listOfSchoolNamesAndIds = ViewBag.SchoolNameAndId;
Layout = "~/Views/Shared/_Layout.cshtml";
}
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="~/scripts/jquery-1.10.2.min.js"></script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script src="~/JS/Search.js"></script>
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
</head>
<body>
<h2>Search</h2>
<br /> <br />
<div>
<table class="table" id="myTable" style="width:100%">
<tr>
<th>
@Html.Label("Child ID")
</th>
<th>
@Html.Label("Child Name")
</th>
<th>
@Html.Label("DOB")
</th>
<th>
@Html.Label("School Name")
</th>
<th></th>
</tr>
@foreach (var item in Model.DataChdNamCurrSchDOBProp)
{
<tr>
<td>
@item.ChdId
</td>
<td>
@item.ChdName
</td>
<td>
@item.DOB
</td>
<td>
@item.School
</td>
<td>
<div data-role="main" class="ui-content">
<a href="#myPopup" data-rel="popup" class="ui-btn ui-btn-inline ui-corner-all ui-icon-check ui-btn-icon-left">Update School</a>
<div data-role="popup" id="myPopup" class="ui-content" style="min-width:250px;">
@using (Html.BeginForm("UpdateSchool", "Home", FormMethod.Post))
{
<h3>Enter New School</h3>
@Html.DropDownList("SchoolNames", new SelectList(ViewBag.SchoolNameAndId, "schId", "schName"), "Select New School", new { @id = "MySearch" })
<input type="hidden" value="@item.ChdId" name="ChdId" />
<input type="submit" data-inline="true" value="UpdateSchool">
}
</div>
</div>
</td>
</tr>
}
</table>
</div>
</body>
</html>