C# 如何执行模型的编辑方法?
我想知道如何修改或删除(编辑异步或删除)属于同一视图的1或2个模型 就像这个例子一样C# 如何执行模型的编辑方法?,c#,.net,asp.net-mvc,asp.net-core,C#,.net,Asp.net Mvc,Asp.net Core,我想知道如何修改或删除(编辑异步或删除)属于同一视图的1或2个模型 就像这个例子一样 public class FruitsViewModel { public List<Abricot> Abricots { get; set; } public List<Banane> Bananes { get; set; } public List<Citron> Citrons { get; set; } } @model nam
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,
公共类水果视图模型
{
公共列表Abricots{get;set;}
公共列表Bananes{get;set;}
公共列表Citrons{get;set;}
}
@模型名称空间de FROUTSVIEWMODEL
@foreach(模型中的var abricot.Abricots)
{
//阿布里科特酒店
}
@foreach(模型中的var banane.Bananes)
{
//巴纳内固有词缀
}
@foreach(模型中的var citron.cirons)
{
//雪铁龙酒店
}
公共ActionResult ActionController()
{
var vm=新的水果视图模型();
vm.Abricots=//Récupère les Abricots depuis la base de donées
vm.Bananes=//Récupère les Bananes depuis la base de donées
vm.Citrons=//Récupère les Citrons depuis la base de donées
返回视图(vm);
}
我很喜欢你的代码,也不例外,
如果我单击保存按钮,通常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");
`在此处输入代码`@foreach(Model.personnels中的var banane)
{
----动作编辑
public ActionResult EditBanane(int-id,[Bind(“id,Name,Color,BananeP”)]Banane-Banane)
{
_背景更新(巴南);
_context.saveChangesSync();
返回操作(“索引”);
如何在banana或lemon模型上执行Edit-in-method公共异步任务编辑(int-id、[Bind(“id,…”)])
如果您想编辑/更新香蕉或柠檬等的模型项,可以尝试以下方法
方法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
//...
}
方法2:生成预期数据并使用Fetch API或Ajax等发出请求,以使用JavaScript代码将数据发布到相应的操作方法。非常感谢您的回复 我很喜欢,但不幸的是,它不工作,但更新还没有完成
@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");}
@foreach(Model.bananes中的变量项)
{
项目id)>
}
公共IActionResult视图编辑([Bind(“id、名称、颜色、BananeP”)]Banane项)
{
_背景。更新(项目);
_context.saveChangesSync();
返回重定向到操作(“索引”);}
我很喜欢你的代码,页面索引(主页)中的模型也不例外,也没有更新
@foreach(Model.Bananes中的变量banane)
{
----动作编辑
public ActionResult EditBanane(int-id,[Bind(“id,Name,Color,BananeP”)]Banane-Banane)
{
_背景更新(巴南);
_context.saveChangesSync();
返回操作(“索引”);
如果调试代码,操作参数Banane item
是否与发布的值绑定?您的操作方法是否有任何异常?您可以使用更新编辑原始问题,而不是发布新问题作为答案。没有异常,我不明白您的意思,我喜欢此操作:如果有帮助,请解决问题。(所有问题都一样。)
@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");}
@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");