y0m*_*mbo 56 asp.net asplinkbutton
我的表单上有一个ASP.NET链接按钮控件.我想在客户端将它用于javascript,并防止它回发到服务器.(我想使用linkbutton控件,因此我可以在某些情况下对其进行换肤并禁用它,因此不首选直接标记).
如何防止它回发到服务器?
Rus*_*ers 62
ASPX代码:
<asp:LinkButton ID="someID" runat="server" Text="clicky"></asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)
代码背后:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
someID.Attributes.Add("onClick", "return false;");
}
}
Run Code Online (Sandbox Code Playgroud)
呈现为HTML的是:
<a onclick="return false;" id="someID" href="javascript:__doPostBack('someID','')">clicky</a>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,会发生什么是onclick功能成为您的验证器.如果为false,则不执行"href"链接; 但是,如果确实如此,href将被执行.这消除了你的回发.
Joh*_*udy 37
这可能听起来像一个无益的答案......但是为什么你使用LinkButton纯粹是客户端的东西?使用标准HTML锚标记并将其onclick操作设置为您的Javascript.
如果您需要服务器生成该链接的文本,则使用an asp:Label作为锚点的开始和结束标记之间的内容.
如果需要基于服务器端代码动态更改脚本行为,请将其asp:Literal视为一种技术.
但除非你在LinkButton的Click事件中进行服务器端活动,否则在这里使用它似乎没什么意义.
小智 25
你也可以这样做
...LinkButton ID="BtnForgotPassword" runat="server" OnClientClick="ChangeText('1');return false"...Run Code Online (Sandbox Code Playgroud)
它会停止链接按钮回发
Ran*_*ton 14
只需设置href ="#"
<asp:LinkButton ID="myLink" runat="server" href="#">Click Me</asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)
刚刚经历过这个,正确的方法是使用:
OnClientClickreturn false如以下示例代码行所示:
<asp:LinkButton ID="lbtnNext" runat="server" OnClientClick="findAllOccurences(); return false;" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
158787 次 |
| 最近记录: |