2011-01-28 108 views
2

考慮:ASP.net C#按鈕單擊

<button runat="server" id="btnNext">Next &gt;</button> 

我需要在我的代碼背後有onclick事件,但在這種情況下,onclick事件是指clientonclick,我必須使用該按鈕的HTML標記不ASP:按鈕,因爲ASP:按鈕呈現作爲輸入,不能與我的CSS一起工作....

任何想法?

給大家說改變我的CSS,那就是:

input[type=button], button { 
    font-family: arial, sans-serif; 
    font-size: 12px; 
    font-weight: bold; 
    margin: 0px; 
    padding: 5px 20px 5px 20px; 
    outline-width: 0; 
    border: 1px solid #000; 
    border-radius: 7px; 
    -moz-border-radius: 7px; 
    -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.5); 
    -moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.5), 
     inset 0px 1px 0px rgba(255, 255, 255, 0.5); 
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5), 
     inset 0px 1px 0px rgba(255, 255, 255, 0.5); 
    -webkit-transition: background-color 0.2s ease-in-out, 
     color 0.2s ease-in-out, 
     -webkit-box-shadow 0.2s ease-in-out; 
    -moz-transition: background-color 0.2s ease-in-out, 
     color 0.2s ease-in-out, 
     -moz-box-shadow 0.2s ease-in-out; 
    -o-transition: background-color 0.2s ease-in-out, 
     color 0.2s ease-in-out, 
     box-shadow 0.2s ease-in-out; 
    background-image: -webkit-gradient(linear, left top, left bottom, 
     color-stop(0.0, rgba(255, 255, 255, 0.8)), 
     color-stop(0.01, rgba(255, 255, 255, 0.6)), 
     color-stop(0.4, rgba(255, 255, 255, 0.3)), 
     color-stop(0.4, rgba(255, 255, 255, 0.2)), 
     color-stop(1.0, rgba(255, 255, 255, 0.0))); 
    background-image: -moz-linear-gradient(top, 
     rgba(255, 255, 255, 0.6) 0%, 
     rgba(255, 255, 255, 0.3) 40%, 
     rgba(255, 255, 255, 0.2) 40%, 
     rgba(255, 255, 255, 0.0) 100%); 
    background-color: #444; 
    color: #fff; 
    text-shadow: rgba(0, 0, 0, 0.5) 0px -1px 0px; 
} 
input[type=button]:hover, input[type=button]:focus, button:hover, button:focus { 
    -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.9); 
    -moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.9), 
     inset 0px 1px 0px rgba(255, 255, 255, 0.5); 
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.9), 
     inset 0px 1px 0px rgba(255, 255, 255, 0.5); 
    background-color: #666; 
    color: #fff; 
} 
input[type=button]:active, button:active { 
    background-color: #222; 
    color: #ccc; 
    -webkit-transition-duration: 0.0s; 
    -moz-transition-duration: 0.0s; 
    -o-transition-duration: 0.0s; 
} 

如果我給你這一個輸入它不顯示所有效果。

+0

在你的ASP按鈕無法使用的CssClass來定義你的CSS? – Matt 2011-01-28 15:26:02

+0

請參閱編輯,除非它被設計爲按鈕元素,否則不是所有效果都可以工作 – 2011-01-28 15:32:04

回答

3

更改您的CSS - 問題不在於asp.net,而在於您的樣式表。在樣式表中的'按鈕'之後粘貼'輸入'真的不那麼困難

1

<button>元素將在您的代碼隱藏中轉換爲HtmlButton實例。這個類暴露了一個服務器端ServerClick事件,你可以用你的目的:

<button runat="server" id="btnNext" 
    OnServerClick="btnNext_Click">Next &gt;</button> 

protected void btnNext_Click(object sender, EventArgs e) 
{ 
    // Handle the click event... 
}