2010-07-02 57 views
15

我只是想看看是否有把我的onClick事件裏面的.cs方式:ASP.NET/HTML:HTML按鈕的onClick屬性裏面ASP.NET(的.cs)

<button type="submit" runat="server" id="btnLogin" class="button" onclick="btnLogin_Click();"> 

其中Login_Click()應的.cs裏面:

protected void btnLogin_Click(object sender, EventArgs e) 
{ 
    // do something 
} 

請大家注意,我不會在這裏使用ASP.NET按鈕,我不會把我的Login_Click()事件裏面的.html /的.aspx所以我不能'揭露'我的代碼。有什麼建議麼?

回答

25

您可以在任何服務器控件上執行此操作,並通過定義「runat=server」將此按鈕作爲服務器控件。這個問題可能是在你的事件的定義:

<button ... runat="server" ... onServerClick="btnLogin_Click" /> 

你不需要「();」那裏......

除了你能解釋一下你爲什麼不使用這裏,因爲我真的不覺得有問題...

+1

看起來他已經在提供的示例中使其成爲'runat =「server」''。 – R0MANARMY 2010-07-02 16:01:50

+0

R0MANARMY是正確的,您需要HtmlButton的「OnServerClick」事件。更新我的例子... – Koen 2010-07-02 16:03:47

15

你會想要使用onServerClick。還有如何做到這一點的MSDN一個例子:

<button id="Button1" OnServerClick="Button1_OnClick" runat="server"> 
    Click me! 
</button> 


protected void Button1_OnClick(object Source, EventArgs e) { 
    // secret codes go here 
} 
5

btnLogin.Click += new EventHandler(btnLogin_Click);

將btnLogin_Click事件處理程序分配給該按鈕的Click事件。但是,我會指出,在aspx頁面的標記中分配一個處理程序不會「暴露您的代碼」,因爲呈現給客戶端的HTML沒有任何該信息。

0

我知道這是晚了,但我在這個問題上失去了這麼多時間。我用按鈕設置了div的InnerHtml。如果你想讓它工作,你需要添加type =「submit」到你的按鈕。

0

它已經很晚了,但對於那裏的人來說:應用UseSubmitBehavior="False"。示例

<button type="submit" runat="server" UseSubmitBehavior="False" type="button" id="btnLogin" class="button" onclick="btnLogin_Click();">