'public class CutData
{
[Key]
public int DataID { get; set; }//before
[Required(ErrorMessage = "Please enter a Tool")]
public string Tool { get; set; }//before
// (skip 66 )....
public string Location { get; set; }//before
}'
模型切割資料
'
@model List<CutData>
<a class="btn btn-primary classAdd" style="margin:5px;">Add row</a>
<div class="editDiv" style="width:100%; height:100%; overflow-x :auto;">
<form asp-action="Edit" asp-controller="Home" method="post">
<fieldset>
<table id="editTable" class="table table-striped table-bordered table-sm" width="100%" border="0" cellspacing="0" cellpadding="0">
<thead>
<tr>
<th></th>
<th class="sticky">Cut Ref</th>
<th>Tool</th>
<th>Date</th>
@*(skip...)*@
<th>Action</th>
</tr>
</thead>
<tbody>
@for (int i = 0; i < Model.Count; i )
{
<tr class="newcutDataInput">
<td><div class="form-group"><input type="hidden" name="Model[i].DataID" /></div></td>
.....
<td><button type="button" id="btnDelete" class="deleteContact btn btn btn-danger btn-xs">Remove</button></td>
</tr>
}
</tbody>
</table>
</fieldset>
<div class="text-center">
<button style="position:fixed; margin-top: 40px;" class="btn btn-primary" id="btnSaveAll" asp-controller="Home" type="submit">Save</button>
</div>
</form>
<script type="text/javascript">
$(document).ready(function () {
$(document).on("click", ".classAdd", function () {
var i = 1;
var contacttr = '<tr class="newcutDataInput">'
'<td><div class="form-group"><input type="hidden" name="Model[i].DataID"/></div></td>'
@*(skip...)*@
'<td><button type = "button" id = "btnDelete" class="deleteContact btn btn btn-danger btn-xs"> Remove</button></td > '
'</tr>';
$('#editTable').append(contacttr); // Adding these controls to Main table class
rowCount ;
});
}); // Adding these controls to Main table class
'
查看通話 編輯
'
[HttpPost]
public IActionResult Edit(List<CutData> cutDatas)
{
try
{
//context.CutDatas.Add(cutDatas);
//List<CutData> cutList = new List<CutData>();
//foreach (var c in cutDatas)
//{
// cutList.Add(new CutData()
// {
// DataID = c.DataID,
// .........
// Location = c.Location,
// });
//}
//context.SaveChanges();
return RedirectToAction("CutList");
}
catch (Exception)
{
return View();
}
}
'
控制器
Pro Asp.net core MVC 如何創建視圖串列并將資料串列傳遞給控制器??(如何將資料串列從視圖傳遞到控制器)- 我知道如何將資料從視圖傳遞到控制器,但我不知道如何將資料串列(添加行)傳遞給控制器??。請修復我正在使用遷移的視圖和控制器。
uj5u.com熱心網友回復:
您可以List<CutData>用來接收修改后的資料。
視圖中的name attribute需要與cutDatas parameterEdit 操作接收到的相匹配。
另外,提交按鈕不需要添加 asp-controller。這將導致您單擊按鈕并輸入默認方法 Home 而不是 Edit 操作。
并且index在js中添加行需要在模型資料計數的基礎上添加。
@model List<CutData>
<a class="btn btn-primary classAdd" style="margin:5px;">Add row</a>
<div class="editDiv" style="width:100%; height:100%; overflow-x :auto;">
<form asp-action="Edit" asp-controller="Home" method="post">
<fieldset>
<table id="editTable" class="table table-striped table-bordered table-sm" width="100%" border="0" cellspacing="0" cellpadding="0">
<thead>
<tr>
<th></th>
<th>Tool</th>
<th>Location</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@for (int i = 0; i < Model.Count; i )
{
<tr class="newcutDataInput">
<td><div class="form-group"><input type="hidden" name="cutDatas[@i].DataID" asp-for="@Model[i].DataID" /></div></td>
<td><div class="form-group"><input type="text" name="cutDatas[@i].Tool" asp-for="@Model[i].Tool" /></div></td>
<td><div class="form-group"><input type="text" name="cutDatas[@i].Location" asp-for="@Model[i].Location" /></div></td>
<td><button type="button" id="btnDelete" class="deleteContact btn btn btn-danger btn-xs">Remove</button></td>
</tr>
}
</tbody>
</table>
</fieldset>
<div class="text-center">
<button style="position:fixed; margin-top: 40px;" class="btn btn-primary" id="btnSaveAll" type="submit">Save</button>
</div>
</form>
</div>
<script type="text/javascript">
$(document).ready(function () {
var rowCount = @Model.Count;
$(document).on("click", ".classAdd", function () {
var contacttr = '<tr class="newcutDataInput">'
'<td><div class="form-group"><input type="hidden" name="cutDatas[' rowCount '].DataID"/></div></td>'
'<td><div class="form-group"><input type="text" name="cutDatas[' rowCount '].Tool" /></div></td>'
'<td><div class="form-group"><input type="text" name="cutDatas[' rowCount '].Location"/></div></td>'
'<td><button type = "button" id = "btnDelete" class="deleteContact btn btn btn-danger btn-xs"> Remove</button></td > '
'</tr>';
$('#editTable').append(contacttr); // Adding these controls to Main table class
rowCount ;
});
}); // Adding these controls to Main table class
</script>
這是除錯結果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/416092.html
標籤:
下一篇:沒有具有鍵“ddlcontent”的“IEnumerable<SelectListItem>”型別的ViewData項
