控制器中的MVC决定打开弹出窗口或继续下一页

时间:2018-03-12 11:41:04

标签: c# asp.net-mvc

我有以下情况:

当用户点击下一步按钮时,我必须做一些必须在控制器中完成的验证。

如果出现错误,它会在弹出窗口中显示错误消息,并且“是”表示继续,或者“否”取消并关闭弹出窗口。

但如果没有错误,用户将继续下一页而不显示弹出窗口。

这就是我所拥有的:

[ActionName(PA.FlowActionName), AcceptPost("nextAanvullen")]
[NoAsyncTimeout]
public ActionResult Pagina_nextAanvullen(OffrerenFlow flow)
{
    var medewerkers = ((MedewerkersAanvullenPakket)(flow.CurrentBusinessObject)).Medewerkers;
    //validate here
    if (true) // for test use true
    {
        var blok = medewerkers.Deelnemers;
        return View("DeelnemersFout", medewerkers); // This doesnt open a popup
    }
    else
    {
       // Go to next page
        DoWorkEventHandler handler = (o, e) =>
        {
            AsyncManager.Parameters["navigation"] = Navigate(new NavigationData<OffrerenFlow>((OffrerenFlow)flow), PA.Next,
                true);
        };

        ExecuteAsyncMethod(handler);
    }
}

我没有弹出窗口,视图只显示视图&#34; DeelnemersFout&#34;。我需要它在弹出窗口中。任何建议都是welkom

1 个答案:

答案 0 :(得分:0)

在IF块中的ViewBag中分配值

if (true) // for test use true
    {
        ViewBag.ShowPopup = true;
        var blok = medewerkers.Deelnemers;
        return View("DeelnemersFout", medewerkers); // This doesnt open a popup
    }

并在Cshtml上在javascript变量中捕获此值并检查此变量中是否有值,并相应地显示弹出窗口。