本文发表在 rolia.net 枫下论坛Step1: 在.aspx文件末尾加一个<div id="loading" ></div> 因为啥也没有,所以不trigger看不见
Step2: 在.aspx文件里加入
<script language="javascript" type="text/javascript">
function PreLoading()
{
document.getElementById("Loading").innerHTML="<div id=\'nestedLoading\' class=\'TransparentGrayBackground\'/>";
document.getElementById("nestedLoading").innerHTML="<img class=\'PageUpdateProgress\' src=\'Pics/loading.gif\' /> ";
}
</script>
其中TransparentGrayBackground和PageUpdateProgress是自定义的CSS,为了让loading image看上去更酷一些:)
Step3:
把原来<asp:button id="btnSubmit" runat="server" />换成<input type="Button" runat="server" ... />, onclick="PreLoading();" (如果用onclick="return PreLoading();"就要加__doPostBack("<%= this.BtnSubmit.ClientID %>"); 如果多个按钮都需要call这个PreLoading() function还要做if判断,麻烦)
step4:在.cs文件里加入override OnInit(EventArgs e),
protected override void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.btnSubmit.ServerClick += new EventHandler(this.btnSubmit_Click);
}
这样是为了把以前的server control button method subscribe到新的HTML control button上,每当点击btnSubmit后先执行PreLoading()里的那2行code,然后系统再postback回去,run btnSubmit_Click() method。更多精彩文章及讨论,请光临枫下论坛 rolia.net
Step2: 在.aspx文件里加入
<script language="javascript" type="text/javascript">
function PreLoading()
{
document.getElementById("Loading").innerHTML="<div id=\'nestedLoading\' class=\'TransparentGrayBackground\'/>";
document.getElementById("nestedLoading").innerHTML="<img class=\'PageUpdateProgress\' src=\'Pics/loading.gif\' /> ";
}
</script>
其中TransparentGrayBackground和PageUpdateProgress是自定义的CSS,为了让loading image看上去更酷一些:)
Step3:
把原来<asp:button id="btnSubmit" runat="server" />换成<input type="Button" runat="server" ... />, onclick="PreLoading();" (如果用onclick="return PreLoading();"就要加__doPostBack("<%= this.BtnSubmit.ClientID %>"); 如果多个按钮都需要call这个PreLoading() function还要做if判断,麻烦)
step4:在.cs文件里加入override OnInit(EventArgs e),
protected override void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.btnSubmit.ServerClick += new EventHandler(this.btnSubmit_Click);
}
这样是为了把以前的server control button method subscribe到新的HTML control button上,每当点击btnSubmit后先执行PreLoading()里的那2行code,然后系统再postback回去,run btnSubmit_Click() method。更多精彩文章及讨论,请光临枫下论坛 rolia.net