有很多关于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"
})
这有效但现在我在对话框上得到一个奇怪的复选框。我该如何预防/删除?
聚苯乙烯。这是在FireFox中。