«RedirectToAction» не перенаправляет на данное действие - PullRequest
1 голос
/ 30 апреля 2019

Я выполняю операцию вставки и перемещаю свой элемент управления на страницу сведений.но он не перенаправил на страницу с подробной информацией, и direct дает мне страницу входа.

Вот мой код

[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 ]

1 голос
/ 30 апреля 2019

Ваш код выглядит нормально. Это требует надлежащего осмотра сейчас. Поместите breakpoint в действия AddPurchaseOrder и PurchaseOrderDetails. Проверьте, почему оно срабатывает при выходе из системы, включите breakpoint в функцию выхода из системы. Возможно, ваши условия проверки подлинности нарушены или есть какие-то ошибки.

0 голосов
/ 30 апреля 2019

Если вы используете переадресацию вызовов AJAX, не работает с постом AJAX. Браузер будет игнорировать ответ перенаправления на AJAX POST. Вы можете перенаправить в скрипте, если вам нужно перенаправить, когда вызов AJAX возвращает ответ о перенаправлении.

...