Ajax.ActionLink HtmlAttribute`onclick ="返回确认(...`未能取消

时间:2015-08-19 11:11:40

标签: c# jquery asp.net-mvc asp.net-ajax razorengine

有很多关于AjaxActionLink和重载的问题。我一直无法找到解决问题的问题。

我的Razor视图中有以下CSHTML

 @Ajax.ActionLink(
        "Clear Failed Entires",
        "ClearFailedInviteEntries",
        "Tools",
         null,
         new AjaxOptions { HttpMethod = "GET" },
         new
         {
            onclick = "return confirm('Are you sure you want to clear the failed invite entries?');",
            @class = "btn btn-lg btn-warning",
            role = "button"
         })

这会使用Okay和Cancel激活正确的对话框。但是,当我按下取消时,ClearFailedInviteEntries方法仍然会触发。我试图检查这个方法

[AllowAnonymous]
public async Task<ActionResult> ClearFailedInviteEntries(string s)
{
    if (!ModelState.IsValid)
        return null;
    ...
}

但是ModelState.IsValid始终是真的,这在浏览器中是一致的。我听说使用return confirm会导致不同的行为,所以我尝试使用onclick = "confirm(...而不做任何更改。

我做错了什么,如何解决这个问题?

感谢您的时间。

编辑A.这不是弹出对话框的问题。对话框显示,但该对话框中的选择未正确处理。

编辑B.我已将呼叫更改为

 @Ajax.ActionLink(
        "Clear Failed Entires",
        "ClearFailedInviteEntries",
        "Tools",
         null,
         new AjaxOptions 
         { 
            HttpMethod = "GET",  
            Confirm = "Are you sure you want to clear the failed invite entries?"
         },
         new
         {
            @class = "btn btn-lg btn-warning",
            role = "button"
         })

这有效但现在我在对话框上得到一个奇怪的复选框。我该如何预防/删除?

Dialog

聚苯乙烯。这是在FireFox中。

0 个答案:

没有答案