我有一个ASP.NET的linkbutton控件在我的表单上。我想在客户端使用它进行javascript操作,并防止它向服务器提交表单。(我想使用linkbutton控件是为了能够样式定制和某些情况下禁用它,所以直接使用a标签并不是首选方法)。
如何防止它向服务器提交表单?
我有一个ASP.NET的linkbutton控件在我的表单上。我想在客户端使用它进行javascript操作,并防止它向服务器提交表单。(我想使用linkbutton控件是为了能够样式定制和某些情况下禁用它,所以直接使用a标签并不是首选方法)。
如何防止它向服务器提交表单?
在onclick事件上调用JavaScript函数。
如果您想保留滚动位置,还可以做另外一件事:
<asp:LinkButton runat="server" id="someId" href="javascript: void;" Text="Click Me" />
似乎没有人这样做:
createEventLinkButton.Attributes.Add("onClick", " if (this.innerHTML == 'Please Wait') { return false; } else { this.innerHTML='Please Wait'; }");
这似乎是唯一可行的方法。
var hrefcode = $('a[id*=linkbutton]').attr('href').split(':');
var onclickcode = "javascript: if`(Condition()) {" + hrefcode[1] + ";}";
$('a[id*=linkbutton]').attr('href', onclickcode);
使用HTML链接而不是ASP链接,您可以在HTML链接之间使用标签来进行服务器端控制。
你可能还想让客户端函数返回 false。
<asp:LinkButton runat="server" id="button" Text="Click Me" OnClick="myfunction();return false;" AutoPostBack="false" />
您也可以考虑:
<span runat="server" id="clickableSpan" onclick="myfunction();" class="clickable">Click Me</span>