如何执行模型的编辑方法



我想知道如何修改或删除(编辑异步或删除(属于同一视图的1或2个模型

像这个例子一样,我们有

public class FruitsViewModel

{
public List<Abricot> Abricots { get; set; }

public List<Banane> Bananes { get; set; }

public List<Citron> Citrons { get; set; }
}
@model namespace de FruitsViewModel

@foreach(var abricot in Model.Abricots)
{
// Affiche les propriétés d'un abricot
}

@foreach(var banane in Model.Bananes)
{
// Affiche les propriétés d'une banane
}

@foreach(var citron in Model.Citrons)
{
// Affiche les propriétés d'un citron
}
public ActionResult ActionController()
{
var vm = new FruitsViewModel();
vm.Abricots = // Récupère les abricots depuis la base de données
vm.Bananes = // Récupère les bananes depuis la base de données
vm.Citrons = // Récupère les citrons depuis la base de données

return View(vm);
}


i do like your code,there is no exception,

如果我正常地点击保存按钮,banae模型将被更改,我将写入显示此更新的索引

`enter code here` `@foreach (var banane in Model.personnels)
{
<form asp-action="EditBanane" method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="@banane.Id" class="control-label"></label>
<input asp-for="@banane.Id" class="form-control" />
<span asp-validation-for="@banane.Id" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="@banane.Name" class="control-label"></label>
<input asp-for="@banane.Name" class="form-control" />
<span asp-validation-for="@banane.Name" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="@banane.Color" class="control-label"></label>
<input asp-for="@banane.Color" class="form-control" />
<span asp-validation-for="@banane.Color" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="@banane.BananeP" class="control-label"></label>
<input asp-for="@banane.BananeP" class="form-control" />
<span asp-validation-for="@banane.BananeP" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Save" class="btn btn-primary" />
</div>
</form>
----action Edit
public ActionResult EditBanane(int id, [Bind("id,Name,Color,BananeP")] Banane banane)
{

_context.Update(banane);
_context.SaveChangesAsync();

return RedirectToAction("Index");

如何在香蕉或柠檬型号上的方法public async Task Edit(int id,[Bind("id,..,"]…中执行Edit

如果你想编辑/更新香蕉或柠檬等的模型项目,你可以尝试这些方法。

方法1 :将模型项的输入字段放入表单中,并指定表单提交的操作方法,如下所示。

@foreach (var fruit in Model.Abricots)
{
// Affiche les propriétés d'un abricot 
//...
}
@foreach (var banane in Model.Bananes)
{
// Affiche les propriétés d'une banane
<form asp-action="EditBanane" method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="@banane.Id" class="control-label"></label>
<input asp-for="@banane.Id" class="form-control" />
<span asp-validation-for="@banane.Id" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="@banane.Name" class="control-label"></label>
<input asp-for="@banane.Name" class="form-control" />
<span asp-validation-for="@banane.Name" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="@banane.Color" class="control-label"></label>
<input asp-for="@banane.Color" class="form-control" />
<span asp-validation-for="@banane.Color" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="@banane.BananeP" class="control-label"></label>
<input asp-for="@banane.BananeP" class="form-control" />
<span asp-validation-for="@banane.BananeP" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Save" class="btn btn-primary" />
</div>
</form>
}
@foreach (var fruit in Model.Citrons)
{
// Affiche les propriétés d'un citron
//...
}

动作方法

[HttpPost]
public IActionResult EditBanane(Banane banane)
{
//...

方法2:生成期望的数据,并使用Fetch API或Ajax等发出请求,用JavaScript代码将数据发布到相应的操作方法。

我很喜欢你的代码,其他也不例外,页面索引(主页(中的模型也没有更新

@foreach (var banane in Model.Bananes)
{
<form asp-action="EditBanane" method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="@banane.Id" class="control-label"></label>
<input asp-for="@banane.Id" class="form-control" />
<span asp-validation-for="@banane.Id" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="@banane.Name" class="control-label"></label>
<input asp-for="@banane.Name" class="form-control" />
<span asp-validation-for="@banane.Name" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="@banane.Color" class="control-label"></label>
<input asp-for="@banane.Color" class="form-control" />
<span asp-validation-for="@banane.Color" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="@banane.BananeP" class="control-label"></label>
<input asp-for="@banane.BananeP" class="form-control" />
<span asp-validation-for="@banane.BananeP" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Save" class="btn btn-primary" />
</div>
</form>
----action Edit
public ActionResult EditBanane(int id, [Bind("id,Name,Color,BananeP")] Banane banane)
{

_context.Update(banane);

_context.SaveChangesAsync();


return RedirectToAction("Index");

非常感谢您的回复,

我确实喜欢,但不幸的是,它还不起作用,更新还没有完成

@foreach (var item in Model.bananes)
{
<div class="col-md-4">

<form asp-action="ViewEdit"  method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>

<input type="hidden" value=@Html.DisplayFor(modelItem => item.id)>
<div class="form-group">
<label asp-for="@item.Name" class="control-label"></label>
<input class="form-control" value="@Html.DisplayFor(modelItem => item.Name)">

</div>
<div class="form-group">
<label asp-for="@item.Color" class="control-label"></label>
<input class="form-control" value="@Html.DisplayFor(modelItem => item.Color)">

</div>
<div class="form-group">
<label asp-for="@item.BananeP" class="control-label"></label>   
<input class="form-control" value="@Html.DisplayFor(modelItem => item.BananeP)">
</div>
<div class="form-group">
<input type="submit" value="save" class="btn btn-info text-white " />

</div>
</form>
</div>}
public IActionResult ViewEdit( [Bind("id,Name,Color,BananeP ")] Banane item)
{

_context.Update(item);
_context.SaveChangesAsync();



return RedirectToAction("Index");}

最新更新