如何从控制器触发弹出确认

时间:2012-04-21 09:38:56

标签: c# javascript asp.net-mvc asp.net-mvc-3

我有一个MVC 3网站,我需要在用户尝试添加同一日期的记录时设置警告并确认。用户点击视图上的按钮:

<input type="button" onclick="document.location.href = '@Url.Action("StartClock", "Time")'" value="Start Clock" />

这是来自控制器的代码。 Button tat触发此操作在StartWork视图中。

public ActionResult StartWork()
{
    return View();
}

public ActionResult StartClock()
{
    if (helper.IsDuplicate(1, DateTime.Now))
    {
        //here I want to trigger a confirmation popup or some warning
    }
    helper.Start(1, DateTime.Now);
    return RedirectToAction("Index");
}

如果它是重复的,我想触发某种带有警告和选项的弹出窗口,无论如何都要继续或取消。

我尝试渲染PartialView,但它只渲染了新视图。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

尝试使用ViewData中设置的标记来指示是否应在您的视图中显示确认框:

if (helper.IsDuplicate(1, DateTime.Now))
{
    ViewData["RequireConfirmation"] = true;
}

然后在你看来:

@if ((bool)ViewData["RequireConfirmation"]) {
    var answer = confirm ("Are you sure you want to add this record?")
    if (answer) {
        //Confirmed
    }
}