我有2个意见:
list.cshtml
<a href="@Url.Action("Eliminar","Productos", new {id = @item.Id})" class="btn btn-danger">Eliminar</a>
grid.cshtml
<a href="@Url.Action("Eliminar","Productos", new {id = @Model.Producto.Id})" class="btn btn-danger" hidden="@Model.Modificar" >
Eliminar Producto
</a>
它们具有相同的动作,但是我想在控制器中区分它们,因为我想返回不同的值 return RedirectToAction();
去掉
public IActionResult Eliminar(int? id)
{
// .. rest of the code
if(you are coming from lista.chtml)
{
return RedirectToAction("return_1");
}
else if(you are coming from cradicula.cshtml)
{
return RedirectToAction("return_2");
}
//.. so on
}
我该如何实现?唯一的解决方案是为Eliminar
每个不同的视图创建另一个Controller,但我违反了DRY。
只需在Eliminar方法中添加第二个参数,即可为该参数填充一个值,该值指示重定向应到达的位置。
例如
public IActionResult Eliminar(int? id, string redirectTo)
和
<a href="@Url.Action("Eliminar","Productos", new {id = @item.Id, redirectTo = "lista"})" class="btn btn-danger">Eliminar</a>
希望其余的一切显而易见。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句