C# 如何通过重定向操作传递对象?

C# 如何通过重定向操作传递对象?,c#,asp.net-core,asp.net-core-routing,C#,Asp.net Core,Asp.net Core Routing,我有一个SubmitComment操作和一个Message类。我想使用Message类发送操作是否成功完成,但Message.Result为false,Message.Text在ShowProduct操作中检查时为null 我的提交建议行动: 我的产品行动: 有什么问题吗?您无法通过RedirectToAction传递对象。或者,新的{id=productId,message}使用return showproductid,message代替return RedirectToActionShowP

我有一个SubmitComment操作和一个Message类。我想使用Message类发送操作是否成功完成,但Message.Result为false,Message.Text在ShowProduct操作中检查时为null

我的提交建议行动:

我的产品行动:


有什么问题吗?

您无法通过RedirectToAction传递对象。或者,新的{id=productId,message}使用return showproductid,message代替return RedirectToActionShowProduct;详情如下:

Message message = new Message
{
    Result = true,
    Text = "Your comment successfully registered."
};

return ShowProduct(productId,message);
对于RedirectToAction,它将以查询字符串的形式传递参数,而您无法传递嵌入的对象

尝试指定以下属性:

return RedirectToAction("ShowProduct", new { id = productId, message.Result, message.Text });
对于返回的ShowProductId,消息;,指定视图名称,如

public ActionResult ShowProduct(int? id, Message message)
{
    ViewBag.Message = message;

    return View("ShowProduct");
}

catch//if any exeption happend->catch Exception ex或catch Exception mable duplicate问题出在哪里,是id和message的值为空还是message的值为空。尝试使用RouteValueDictionary传递复杂对象。是的,我认为我应该更好地使用RoutValueDictionary@Hazimdekenlyyes我认为我应该更好地使用RoutValueDictionary@MikevIt works,但我想在提交注释后显示ShowProduct视图,但它想显示SubmitComment视图!!!“你能帮上忙吗?”Farshadshavari标记答案,最好用新的要求清楚地问一个不同的问题。我将尽力帮助你。
Message message = new Message
{
    Result = true,
    Text = "Your comment successfully registered."
};

return ShowProduct(productId,message);
return RedirectToAction("ShowProduct", new { id = productId, message.Result, message.Text });
public ActionResult ShowProduct(int? id, Message message)
{
    ViewBag.Message = message;

    return View("ShowProduct");
}