2017-06-14 68 views
1

我正在使用.aspx中的同事提供的HTML,我需要使用.aspx.cs(C#)編寫他使用HTML創建的按鈕的功能。 我處理的代碼如下:C#代碼後面的按鈕單擊事件,ASP.NET

</div> 
      <button style="padding: 10px; margin-bottom: 10px;" class="w3-round w3-blue">Ship</button> 
      <button style="padding: 10px; margin-bottom: 10px;" class="w3-round w3-blue">Rate</button> 

    </div> 

我是新來的HTML,但在尋找到類似的問題,我經常看到一個功能按鈕的HTML代碼看起來更像

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

,有時與

<asp: 

開頭。我試着簡單地將runat和onclick字段添加到與aspx.cs代碼中的C#方法相對應的HTML中,但我無法使按鈕單擊實際觸發代碼背後的方法。我假設,如果我添加方法的名稱後跟onclick到C#aspx.cs代碼,那麼只需單擊按鈕即可執行此操作,但我明顯錯誤。

我可以在後面的代碼中編寫按鈕的功能而不更改提供給我的HTML嗎?或者我必須先改變HTML,如果是的話,如何改變?

+0

前綴爲'ASP中的:'是Web窗體控制。你可以閱讀所有關於[在文檔](https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button(v = vs.110).aspx)。 – mason

回答

2

你也許可以用添加runat="server"屬性,你的按鈕越來越遠,但我從來沒有嘗試過了,坦率地說,使用正確的網頁控制將是最好的選擇。

更換它們不應該改變頁面的外觀和感覺。只要添加CssClass="xxx"即可應用css,否則它們會呈現標準html元素。

您的標記應該是這個樣子:

<asp:Button runat="server" id="btnLogin" Text="Log In" OnClick="btnLogin_Click" /> 

在你的代碼匹配的事件處理程序是這樣的:

protected void btnLogin_Click(object sender, EventArgs e) 
{ 
    // Here's where you do stuff. 
} 
0

您需要更換

onclick="btnLogin_Click();" 

onclick="btnLogin_Click" 

因爲asp.net按鈕的onclick屬性需要包含它在aspx.cs文件調用函數的名稱和不是實際的通話。

+0

我更新了我的答案 – Plargato

0

我的建議是將HTML控件更改爲<asp:Button />,並讓ASP.NET連接事件處理程序。語法會如果你使用像Visual Studio/Express中的一個工具,彈出相關網頁(aspx頁面)類似於下面

<asp:Button ID="Test" runat="server" Text="Button" OnClick="Test_Click" /> 
0

從控件工具欄上拖動一個按鈕到頁面。

如果您在設計視圖中雙擊該按鈕,它將自動創建代碼後面的事件處理程序。

按鈕控件有一些屬性OnClick和OnClientClick。使用OnClientClick觸發頁面上的任何JavaScript。

希望它可以幫助