科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件ASP.NET 2.0实现AJAX的Web开发(2)

ASP.NET 2.0实现AJAX的Web开发(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在过去的几个月中,基于AJAX技术开发高度交互的Web应用程序的设计模式迅速流行开来。现在,具有高度可配置性的Web应用程序,例如Google Maps和A9,都在综合利用这些技术来创造丰富的客户端用户体验。

作者:朱先忠编译 来源:天极开发 2007年9月2日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
列表1 ProgressBar.cs

public class ProgressBar : System.Web.UI.Control,

System.Web.UI.ICallbackEventHandler{

private int PercentCompleted{

 get

 {

if System.Web.HttpContext.Current.Session["PercentComplete"] == null) {

 System.Web.HttpContext.Current.Session["PercentComplete"] = 1;

 } 

 else {

System.Web.HttpContext.Current.Session["PercentComplete"]

=(int)System.Web.HttpContext.Current.Session["PercentComplete"] + 1;

 }

 return (int)System.Web.HttpContext.Current.Session["PercentComplete"];

}

set

{

 System.Web.HttpContext.Current.Session["PercentComplete"] = 1;

}

}

public string RaiseCallbackEvent(string eventArguments) {

 int percent = this.PercentCompleted;

 if (percent > 100)

 {

this.PercentCompleted = 1;

return "completed";

 }

 else

 {

return percent.ToString() + "%";

 }

}

protected override void OnPreRender(EventArgs e) {

 this.Page.ClientScript.RegisterClientScriptBlock(typeof(ProgressBar),

"ProgressBar", this.GetClientSideScript(), true);

 base.OnPreRender(e);

}

protected override void Render(HtmlTextWriter writer) {

 System.Text.StringBuilder sb = new StringBuilder();

 sb.Append(@"<table id=""ProgressBarContainer"" bgcolor=""LightSteelBlue""

 border=""0"" width=""400"" style=""DISPLAY:none; POSITION: absolute;

 Z-INDEX: 10"">");

 sb.Append(@"<tr><td colspan=""3"" style=""padding:3px 2px 2px 10px"">");

 sb.Append(@"<font face=""Verdana, Arial, Helvetica, sans-serif"" size=""2"">");

 sb.Append(@"<span id=""ProgressBarLabel"">Uploading...</span>");

 sb.Append(@"</font></td></tr><tr><td>");

 sb.Append(@"<font size=""1""> </font></td><td bgcolor=""#999999""

 width=""100%"">");

 sb.Append(@"<table id=""ProgressBar"" border=""0"" width=""0""

 cellspacing=""0"">");

 sb.Append(@"<tr><td style=""background-image:url(progressbar.gif)"">

 <font size=""1""> </font></td>");

 sb.Append(@"</tr></table></td>");

 sb.Append(@"<td><font size=""1""> </font></td></tr>");

 sb.Append(@"<tr height=""5px""><td colspan=""3""></td></tr>");

 sb.Append(@"</table>");

 writer.Write(sb.ToString());

 base.Render(writer);

}

private string GetClientSideScript() {

 System.Reflection.Assembly dll =

 System.Reflection.Assembly.GetExecutingAssembly();

 StreamReader reader;

 reader = new StreamReader(dll.GetManifestResourceStream("ProgressBar.txt"));

 StringBuilder js = new StringBuilder(reader.ReadToEnd());

 string fp = this.Page.ClientScript.GetCallbackEventReference(this, "", "UpdateProgressBar", "");

 js.Replace("##InitiateCallBack##", fp);

 reader.Close();

 return js.ToString();

}

}

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章