@Ajax.ActionLink("like", "Like", "Article", new { postId = Model.post.PostId, userName = User.Identity.Name }, new AjaxOptions { OnBegin = "OnBegin" }, new { @class = "like_link" })
function OnBegin()
{
if( true ) // value from client side. not returning value from server.
{
// I dont want to work the link. I want only alert message.
}
else
{
// Go to controller with parameters.
}
}
我想要上面的东西。 OnBegin没有必要这样做。可能是另一种解决方案。
感谢。
答案 0 :(得分:2)
OnBegin
应该这样做。只需返回true
或false
,具体取决于您是否要执行控制器操作:
function OnBegin() {
if (true) // value from client side. not returning value from server.
{
// I dont want to work the link. I want only alert message.
alert('alerting some message');
return false;
}
else {
// Go to controller with parameters.
return true;
}
}
答案 1 :(得分:0)
我正在读这个,因为如果表单无效,您希望用户不被定向到链接的URL。如果是这种情况,您可以连接到链接的单击事件,并在javascript中进行验证检查,然后让用户在一切有效时继续,或者如果表单无效则停止。使用jQuery,它将是这样的:
$(document).ready(function() {
$('a.like_link').click(function (e) {
if (formIsNotValid) { // Insert a real conditional here that works for your needs.
e.preventDefault();
// Display a message here?
}
// Don't need an else, everything is valid, let the user move on.
});
});
编辑:如果用户关闭了javascript,该链接将起作用。很可能,你的验证在这种情况下也不起作用。