ポストバックを発生させる方法
ASP.NETコントロールのイベントをハンドルする
【index.aspx】(クライアント側処理)
<asp:button
id="myAspButton"
runat="server"
OnClick="myAspButton_Click"
Text="myAspButton"></asp:button>
【index.aspx.vb】(サーバー側処理)
Public Class index
Inherits System.Web.UI.Page
<asp:button>はサーバー側で処理できるコントロール
Protected Sub myAspButton_Click(sender As Object, e As EventArgs)
Handles myAspButton.Click
‘ここを通る
End Sub
End Class
AutoPostBackプロパティをTrueに
TextBox、RadioButton、CheckBox等はデフォルトでは値を変更してもポストバックが発生しない。
即、サーバーに処理を移したい場合にこの設定を行う。
【index.aspx】(クライアント側処理)
<asp:TextBox
ID="myText"
runat="server"
AutoPostBack="True"
OnTextChanged="myText_TextChanged">
</asp:TextBox>
【index.aspx.vb】(サーバー側処理)
Public Class index
Inherits System.Web.UI.Page
protected void myText_TextChanged(object sender, EventArgs e)
{
//ここを通る
}
End Class
クライアント側操作でサーバーに処理を移す方法
【index.aspx】(クライアント側処理)
htmlリンク
↓ ASP.NETコントロール
<asp:button
id="myAspButton"
runat="server"
OnClick="myAspButton_Click"
Text="myAspButton"></asp:button>
↓ htmlコントロール
<a href="#" id="myLink">aaa</a>
<script type="text/javascript">
$(function () {
//htmlコントロールはクライアント側で処理
$("#myLink").click(function () {
//<asp:button>の「click」イベントを発生させる
$("#myAspButton").trigger("click");
});
});
</script>
【index.aspx.vb】(サーバー側処理)
Public Class index
Inherits System.Web.UI.Page
<asp:button>はサーバー側で処理できるコントロール
Protected Sub myAspButton_Click(sender As Object, e As EventArgs)
Handles myAspButton.Click
‘ここを通る
End Sub
End Class