web-dev-qa-db-ja.com

buttonとasp:button onclickの違い

Webサイトを作成するためにasp.netで開発するのは初めてです。そのため、次の違いを理解するのに苦労しています。 asp:Buttonと入力ボタンの違いは何ですか?

コード1
aspxコード

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />  

分離コード

protected void Button1_Click(object sender, EventArgs e)
{
    //Do somthing
}  

コード2
aspxコード

<input id="Submit1" type="submit" value="submit" onclick="return Submit1_onclick()" />  


<script language="javascript" type="text/javascript">
// <![CDATA[

function Submit1_onclick() {
    //Do somthing
}

// ]]>
</script>
19
New Developer

最初のコードはサーバー側のコードです。タグasp:buttonをWebフォームに追加すると、asp.netはinput type="button"をレンダリングし、このボタンをクリックすると、同じページに投稿を送信します(これはpostback)そして、このボタンに関連付けられたライフサイクルとasp.netイベントを処理します。 TextBoxesinput type='text'をレンダリング)、Panels(divをレンダリング)、Checkboxesinput type='checkbox'をレンダリング)など、すべてのサーバーコントロールで同じことが有効です。 、Labelsspansをレンダリング)など...

2番目のコードには、最初のコードがレンダリングするコード(input type = 'button')がありますが、クライアント側のJavaScriptのイベントに関連付けられています。

タグasp:buttonでクライアント側イベントを関連付けることもできます。OnClientClickプロパティを見てください。

21
Felipe Oriani

asp:Buttonは、サーバー側でイベントを発生させるasp.netサーバーコントロールです。

<input id="Submit1" type="submit"

送信タイプのクライアント側ボタンですが、追加することでサーバー側ボタンとしても機能します

runat="server"およびonserverclick="eventname"

6
Ali Issa

最初はサーバー側コントロールで、イベントハンドラーはC#のサーバーで実行されます。ボタンをクリックするとポストバックが発生し、クリックイベントハンドラーの呼び出しなど、フォーム内のすべての情報がサーバーに送信されて処理されます。

2番目は完全にクライアント側で、イベントハンドラーはJavaScriptのブラウザーで実行されます。

6
Oded

私の理解では、ブラウザでjavascriptを実行するクライアント側コードと、サーバーで実行するasp/c#コードがあることに留意する必要があります。

したがって、この制御を持っている:

 <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /> 

Button1_Clickはサーバー上で実行されますが、Microsoftの世界ではIISです。一方、クリックイベントに対してjavascript関数をフックする純粋なhtmlコントロールのみがあります。

 <input id="Submit1" type="submit" value="submit" onclick="return Submit1_onclick()" /> 

したがって、サーバー側はこの部分とは関係ありません。このコードは、マシンのブラウザーで実行されます。

4
Alan Budzinski

私の機能:

1.- En elbotón:

 <input type="submit" id="btnAccept" value="Log In" runat="server" onserverclick="btnAccept_Click">

2.-分離コード:

Protected Sub btnAccept_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
2
Marta Gomez