2011-07-25 3 views
4

私はasp.netを学んでいます。ボタンの例について質問がありますasp:buttonとhtmlのボタンの違い

2種類のボタンを使用できます。

<input id="Button1" type="button" value="button" /> 

または

<asp:Button ID="Button3" runat="server" Text="Button" /> 

2の主な違いは何ですか?

+6

1つはサーバーコントロールで、もう1つはクライアントコントロールです。 – leppie

+0

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.aspx –

答えて

2

1つはサーバーコントロール(aspボタン)で、ページ上にレンダリングするとポストバックロジックを処理するjavascriptが含まれています。また、IDでアドレス指定できるコントロールとしてコードビハインドにさらされています。 Htmlコントロールはプラットフォームに依存せず、ブラウザによってただボタンとしてレンダリングされます。そのボタンはクリックイベントを発生させますが、フォームはPOSTしません。

+0

しかし、私はHTMLボタンをクリックするための関数を記述したいとき、私はそれをJavaScriptで書く必要がありますか? – nirmus

+0

@nirmus - aspコントロールの場合は、ボタンの宣言に "OnClientClick"ハンドラを含めることで、バックエンドasp.netコードまたはフロントエンドコードとして記述できます。どちらの場合でも(aspまたはhtml)、「OnClick」ハンドラをインライン(サム・ダウン)またはjQuery(サム・アップ)のいずれかで結ぶことができます。 – davecoulter

1

クリックごとにサーバーへのラウンドトリップが発生します。これは毎回発生しないようにしてください。 HTMLボタンははるかに軽く、クライアントの検証、クライアントスクリプトの実行などのクライアントロジックを作成するために使用する必要があります。
HTMLボタンはクリックするたびにASPボタンがPOSTを行います。

+0

しかし、私はHTMLボタンをクリックするための関数を記述したいとき、私はそれをJavaScriptで書く必要がありますか? – nirmus

+0

あなたのonClick関数が複雑なものであれば、そうするべきです。リンクを表示しているだけであれば、htmlでしかできません。もちろん、あなたがそれをしたい場合は、クリックイベントをいくつかのPHPスクリプトファイルにリンクすることができます。 –

関連する問題