jQuery和LinkBut​​tons,或常规按钮和CSS

时间:2010-07-28 00:22:01

标签: asp.net jquery css controls postback

我的母版页上有一个小的登录控件。在登录控件上,我使用LinkBut​​ton作为Submit按钮,因为我喜欢它的外观。

但是,当在任何登录控制文本框中按下“enter”键时,我也会使用jQuery进行捕获。在每个浏览器中使用jQuery触发链接按钮的单击事件很困难。我甚至尝试过硬编码__doPostBack,但LinkBut​​ton ID与控件上内置的href =“__ doPostBack”属性略有不同。它没有响应.trigger(),click()等等。

另一方面,常规的Button控件可以正常使用jQuery click()。但我不是按钮看起来的忠实粉丝,我的CSS技能有限。是否有一种简单的方法可以将普通的ASP.NET按钮控件设置为链接?或者是否有一种简单的方法可以使LinkBut​​ton与jQuery一起运行?我会选择哪种方法需要更少的努力。 :)

提前致谢。

2 个答案:

答案 0 :(得分:2)

您可以使用ClientScriptManager获取LinkBut​​ton触发的确切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显示了在不同浏览器和操作系统中呈现的差异。换句话说,请确保您的目标浏览器正确应用上述内容。