我的母版页上有一个小的登录控件。在登录控件上,我使用LinkButton作为Submit按钮,因为我喜欢它的外观。
但是,当在任何登录控制文本框中按下“enter”键时,我也会使用jQuery进行捕获。在每个浏览器中使用jQuery触发链接按钮的单击事件很困难。我甚至尝试过硬编码__doPostBack,但LinkButton ID与控件上内置的href =“__ doPostBack”属性略有不同。它没有响应.trigger(),click()等等。
另一方面,常规的Button控件可以正常使用jQuery click()。但我不是按钮看起来的忠实粉丝,我的CSS技能有限。是否有一种简单的方法可以将普通的ASP.NET按钮控件设置为链接?或者是否有一种简单的方法可以使LinkButton与jQuery一起运行?我会选择哪种方法需要更少的努力。 :)
提前致谢。
答案 0 :(得分:2)
您可以使用ClientScriptManager获取LinkButton触发的确切JavaScript:
string postbackFunction = this.Page.ScriptManager.GetPostBackEventReference(myLinkButton, "");
string jQueryBlock = @"$('#loginbox').keypress(function(e){
if(e.which == 13) {" + postbackFunction + ";}});
//print the jQueryBlock to the page
它将输出一个看起来像这样的JS函数调用:
__doPostBack('linkButtonID','', 0);
答案 1 :(得分:0)
当然,使用CSS设置<input type="submit">
和<button>
元素的样式不是问题:
input.button,
button {
margin: 0;
padding: 0;
color: blue;
background: none;
border: 0;
cursor: pointer;
}
你可以看到它的外观here。
有一点需要注意的是,按钮样式并不总是一直应用于跨浏览器。 Here's a post显示了在不同浏览器和操作系统中呈现的差异。换句话说,请确保您的目标浏览器正确应用上述内容。