如何在 ASP.NET Core 6.0 MVC 中将数据从一个动作方法传递到另一个动作方法
How to pass data from one actionmethod to another in ASP.NET Core 6.0 MVC
我想知道我应该怎么做:我使用 asp-route-id="@item.ID"
方法获取项目的 ID。
<a asp-controller="Outfit" asp-action="OutfitRatingOpslaan"
asp-route-id="@item.ID" class="btn btn-primary">Beoordelen</a>
需要为视图记住此 ID:
public IActionResult OutfitRatingOpslaan(item.ID)
{
Object obj = Container.GetObject(item.ID)
}
因此,该对象的 ID
需要与我在 OutfitRatingOpslaan(Item.ID)
视图中按下提交按钮后获得的值相结合。
我添加了一张图片,说明视图的外观以及用户可以在何处输入值。
这个新值+对象的ID
需要合并存储在数据库中。
所以最终结果应该是这样的:
public IActionResult OutfitRatingSave()
{
Rating rating = ratingContainer.AddRating(item.ID, Value);
}
有人有什么想法吗? ;p
有两种方法可以实现。
第一种方法,你可以使用:
return RedirectToAction("action", "controller", new { id = item.ID});
然后在目标操作中,只需使用:
public IActionResult OutfitRatingSave(int id)
{
Rating rating = ratingContainer.AddRating(id, Value);
}
第二种方法,可以使用TempData["xx"]
在action之间传递数据,参考下面的代码:
public IActionResult OutfitRatingOpslaan(item.ID)
{
TempData["id"] = item.ID
Object obj = Container.GetObject(item.ID)
}
public IActionResult OutfitRatingSave()
{
int id = (int)TempData["id"];
Rating rating = ratingContainer.AddRating(id, Value);
}
我想知道我应该怎么做:我使用 asp-route-id="@item.ID"
方法获取项目的 ID。
<a asp-controller="Outfit" asp-action="OutfitRatingOpslaan"
asp-route-id="@item.ID" class="btn btn-primary">Beoordelen</a>
需要为视图记住此 ID:
public IActionResult OutfitRatingOpslaan(item.ID)
{
Object obj = Container.GetObject(item.ID)
}
因此,该对象的 ID
需要与我在 OutfitRatingOpslaan(Item.ID)
视图中按下提交按钮后获得的值相结合。
我添加了一张图片,说明视图的外观以及用户可以在何处输入值。
这个新值+对象的ID
需要合并存储在数据库中。
所以最终结果应该是这样的:
public IActionResult OutfitRatingSave()
{
Rating rating = ratingContainer.AddRating(item.ID, Value);
}
有人有什么想法吗? ;p
有两种方法可以实现。
第一种方法,你可以使用:
return RedirectToAction("action", "controller", new { id = item.ID});
然后在目标操作中,只需使用:
public IActionResult OutfitRatingSave(int id)
{
Rating rating = ratingContainer.AddRating(id, Value);
}
第二种方法,可以使用TempData["xx"]
在action之间传递数据,参考下面的代码:
public IActionResult OutfitRatingOpslaan(item.ID)
{
TempData["id"] = item.ID
Object obj = Container.GetObject(item.ID)
}
public IActionResult OutfitRatingSave()
{
int id = (int)TempData["id"];
Rating rating = ratingContainer.AddRating(id, Value);
}