ASP.NET MVC3 Ajax.ActionLink

我有一个@ Ajax.ActionLink,为此我只想在满足某些条件(用户有未保存的更改)时显示一个确认对话框。 我创建了一个javascript函数,根据需要显示确认对话框,并根据响应返回true或false。 我将它绑定到ActionLink的onclick事件中,但错误的结果不会取消操作。 以下是我的代码示例:

@Ajax.ActionLink("Done", .. , .. , 
                  new AjaxOptions() { UpdateTargetId = "MyContainerId"},
                  new { onclick = "ConfirmDone()" })

这里是JavaScript的功能

function ConfirmDone() {
    //for testing purposes we can always show the dialog box
    return confirm("Are you sure you want to lose unsaved changes?");
}

显示Ajax.ActionLink的条件确认对话框的最佳方法是什么?


使用OnBegin事件:

@Ajax.ActionLink("Done", "ActionName", 
    new AjaxOptions 
    { 
        OnBegin = "return ConfirmDone()", 
        UpdateTargetId = "MyContainerId" 
    })

如果您只需要弹出确认框,您也可以使用确认ajax选项。 如果你需要做更多的自定义逻辑(或者想使用自定义对话框),那么你需要使用OnBegin。

这是一个使用确认的例子:

@Ajax.ActionLink("Done", "ActionName", 
    new AjaxOptions 
    { 
        Confirm= "Are you sure you want to do this?", 
        UpdateTargetId = "MyContainerId" 
    })

我认为你只需要改变它如下:

@Ajax.ActionLink("Done", .. , .. , 
              new AjaxOptions() { UpdateTargetId = "MyContainerId"},
              new { onclick = "return ConfirmDone();" })
链接地址: http://www.djcxy.com/p/71535.html

上一篇: ASP.NET MVC3 Ajax.ActionLink

下一篇: asp.net: redirect to page after confirmation?