■同期型のPost Back処理中にメッセージを表示
サンプル
Header部
<style type="text/css">
.divProgress{
display: none;
}
</style>
<link type="text/css" rel="stylesheet" href="./jquery/themes/base/jquery.ui.all.css" />
<script type="text/javascript" src="./jquery/jquery-1.6.2.js"></script>
<script type="text/javascript">
$(function () {
$(".btnSubmit").click(function () {
// 検証コントロールがあるかどうか確認
if (typeof (Page_ClientValidate) == 'function') {
// エラーを検出したかどうか確認
if (Page_ClientValidate() == false) {
return false;
}
}
$('.divProgress').show();
$('.btnSubmit').attr('disabled', 'disabled');
$('form').submit();
});
});
</script>
Body部
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="rqrdVal" runat="server"
ErrorMessage="Required Error!" ControlToValidate="TextBox1"></asp:RequiredFieldValidator>
<br />
<asp:Button ID="Button1" runat="server" CssClass="btnSubmit" Text="Click Me!" />
<div class="divProgress">
<img src="Images/loading.gif" alt="" />
処理中...
</div>
コードビハインド
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Threading.Thread.Sleep(3000)
If Me.IsPostBack Then
Me.Label1.Text = Me.TextBox1.Text & "が指定"
End If
End Sub
問題点
* アニメgifが動かない
■非同期型のPost Back処理中にメッセージを表示
サンプル
* コードビハインドは上と同じ
Header部
<style type="text/css">
.divProgress{
display: none;
}
</style>
<link type="text/css" rel="stylesheet" href="./jquery/themes/base/jquery.ui.all.css" />
<script type="text/javascript" src="./jquery/jquery-1.6.2.js"></script>
<script type="text/javascript">
function pageLoad() {
var req = Sys.WebForms.PageRequestManager.getInstance();
req.add_initializeRequest(req_InitializaRequest);
req.add_endRequest(req_EndRequest);
}
function req_InitializaRequest(sender, args) {
// 検証コントロールがあるかどうか確認
if (typeof (Page_ClientValidate) == 'function') {
// エラーを検出したかどうか確認
if (Page_ClientValidate() == false) {
return false;
}
}
$('.divProgress').show();
$('.btnSubmit').attr('disabled', 'disabled');
}
function req_EndRequest(sender, args) {
$('.divProgress').hide();
$('.btnSubmit').attr('disabled', '');
}
</script>
Body部
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="rqrdVal" runat="server"
ErrorMessage="Required Error!" ControlToValidate="TextBox1"></asp:RequiredFieldValidator>
<br />
<asp:Button ID="Button1" runat="server" CssClass="btnSubmit" Text="Click Me!" />
<div class="divProgress">
<img src="Images/loading.gif" alt="" />
処理中...
</div>
</ContentTemplate>
</asp:UpdatePanel>
問題点
* ボタンが非活性のまま