Last updated on
ASP.netでOnClick属性を書くかどうか
vbファイルに次のコードが書いてあった場合、
Protected Sub Button1\_Click(sender As Object, e As EventArgs) Handles Button1.Click
End Sub
aspxファイルは以下の2つのコードどちらでも、Button1_Clickイベントが発生します。
<asp:Button ID="Button1" runat="server" OnClick="Button1\_Click" >Button</asp:Button>
<asp:Button ID=“Button1” runat=“server” >Button</asp:Button>
Handles Button1.Clickがない場合は、aspxの方のコードにonclick=“Button1_Click”が必要です。
ということで、vbファイル、aspxファイルどちらに書いても結果は同じになります。
試しに次のようにかいてみました。
vbファイル
Protected Sub Button1\_Click(sender As Object, e As EventArgs)
Label1.Text = "Button1が押されました。"
End Sub
Protected Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Label1.Text = “Button2が押されました。“
End Sub
aspxファイル
<asp:Button ID="Button1" runat="server" Text="Button1" OnClick="Button1\_Click" />
<br />
<asp:Button ID="Button2" runat="server" Text="Button2" />
実行してみるとHTMLソースはこうなります。
<input type="submit" name="Button1" value="Button1" id="Button1" />
<br />
<input type="submit" name="Button2" value="Button2" id="Button2" />
Button1、Button2ともに正常に動作します。
「Handles Button2.Click」を削除した場合、「Button2が押されました。」とは表示されません。
クリックしたときの挙動はHTMLソースを見ても知ることはできません。