'RedirectToAction'不重定向到给定的动作

时间:2019-04-30 06:52:56

标签: c# asp.net-mvc asp.net-mvc-4

我执行插入操作,然后将控件移到详细信息页面。 但是它没有重定向到详细信息页面,而是直接给了我登录页面。

这是我的代码

[HttpPost]
public ActionResult AddPurchaseOrder(PODetail po)
{
    var createdby = GeneralSession.Username;
    var spresult = Db.Sp_PO_Insert(po.SCODE, po.PONO, po.PODATE, po.POTYPEID, po.MODESP, po.INSURANCE, po.PTERM, po.DESTINATION, po.PackingCharge, po.NOTE1, po.NOTE2, po.NOTE3, po.NOTE4, po.INSPECTION, po.FRAIGHT, po.SALESTYPE, po.PRICEARE, po.OtherAmt, po.OtherDesc, createdby, po.Remarks);
    if (spresult == 2 || spresult == -2)
    {
        if (po.SubPODetails.Count() > 0)
        {
            var src = po.SubPODetails.ToList();
            for (var i = 0; i < po.SubPODetails.Count(); i++)
            {
                var fdata = src[i];
                var poli = i + 1;
                var subresult = Db.Sp_POSub_Insert(po.PONO, fdata.ITEMCODE, fdata.DESCRIPTION, fdata.QTY, fdata.UNITID, fdata.RATE, fdata.DISCOUNT, fdata.DELIVERYDT, fdata.SpecialNote, fdata.QTNNO, fdata.QTNDT, fdata.CGSTPer, fdata.IGSTPer, Convert.ToString(poli));
                if (subresult == 1 || subresult == -1)
                {
                    continue;
                }
                else
                {
                    this.AddToastMessage("Error", "Something went wrong in insert with sub OA", ToastType.Error);
                    break;
                }
            }
        }
        else
        {
            this.AddToastMessage("Error", "Something Went To Wrong!!!", ToastType.Error);
        }
        ModelState.Clear();
        this.AddToastMessage("Success", "Purchase inserted successfully", ToastType.Success);
        return RedirectToAction("PurchaseOrderDetails","Purchase");
    }
    else
    {
        this.AddToastMessage("Error", "Something Went To Wrong!!!", ToastType.Error);
    }
    return RedirectToAction("PurchaseOrderDetails", "Purchase");
}

这是我的RouteConfig文件

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "User", action = "Login", id = UrlParameter.Optional }
        );
    }
}

任何人都可以帮助我,为什么吐司消息不提醒并且页面不重定向到给定操作。 预先谢谢你。

2 个答案:

答案 0 :(得分:1)

您的代码似乎还可以。现在需要适当检查。 将breakpoint放在AddPurchaseOrderPurchaseOrderDetails动作中。检查为什么它会导致您的注销操作,并在注销功能上加上breakpoint。 可能是您的身份验证检查条件违反或存在一些错误。

答案 1 :(得分:0)

如果使用AJAX呼叫重定向,则不适用于AJAX帖子。 浏览器将忽略对AJAX POST的重定向响应。如果您需要在AJAX调用返回重定向响应时进行重定向,则由您决定要在脚本中进行重定向。