ASP.NET には、サーバー側のコントロール (ボタン、ハイパーリンク、グリッドビューなど) があります。これらはすべて、C#/VB.NET コードで処理できるサーバー側イベント (Button1_OnClick) を生成します。
<asp:Button ID="btnCopyText" runat="server" /> // Calls the server side btnCopyText code
public void btnCopyText_Click(object sender, EventArgs e) {
}
HTML には、クライアントのブラウザー (クライアント側) によってレンダリングされる独自のコントロールがあります。
<button onclick="copyText()">Copy Text</button> // Calls the copyText() function (Client Side)
ASP.NET ボタンはサーバー側でレンダリングされ、標準の HTML ボタン (上図) としてクライアントに渡されます。
カスタム ユーザー コントロールは、プログラマによって作成される ASP.NET サーバー側コントロールであり、GridView やボタンなどの複数の ASP.NET サーバー側コントロールを含む場合があります。たとえば、ボタンをクリックすると、GridView にデータが再読み込みされます。これにより、ASP.NET 開発者は定型コードを記述する (同じコードを繰り返す) のではなく、1 つのカスタム コントロールを記述し、必要に応じてそれを再利用することができます。
http://msdn.microsoft.com/en-us/library/y6wb1a0e.aspx