本文简单介绍一下在母版页中使用UpdatePanel控件,翻译自官方文档。

主要内容

1.添加UpdatePanel控件到Content Page

2.通过Master Page刷新UpdatePanel

一.添加UpdatePanel控件到Content-Page

1.添加一个新的Master Page,并切换到设计视图。

2.在工具箱中AJAX Extensions标签下双击ScriptManager控件添加到页面中,确保ScriptManager控件添加在ContentPlaceHolder控件之外。

3.在ContentPlaceHolder控件添加文本“Master Page”。

4.在工具箱的HTML标签下,拖动Horizontal Rule(横线)到文本之后,页面如下:

5.创建一个Content Page,选择它的Master Page为我们刚才创建的页面。

在解决方案管理器中点击右键,并选择Add New Item菜单命令,在Add New Item对话框中选择Select master page复选矿,并单击OK按钮。

6.在Content页面中的Content控件中输入Content Page,并添加一个UpdatePanel控件。

7.在UpdatePanel控件中添加Calendar控件。

8.保存并按Ctrl + F5运行。

9.单击Calendar控件中的上月和下月按钮,页面并没有整页刷新。

二.通过Master Page刷新UpdatePanel

在该例子中我们将在Master Page中添加一些控件,它们将引发一个异步提交,同时在Content页面中刷新UpdatePanel。

1.在Master Page中切换到设计视图。

2.添加一些文本和两个按钮到页面中,设置一个按钮的ID属性和Text属性分别为DecrementButton和“-”,设置另一个按钮的ID属性和Text属性分别为IncrementButton和“+”。

3.选择+按钮,在属性窗口的Click事件框中输入MasterButton_Click,对-按钮再重复做一次。

4.在控件之外双击页面添加Page_Load事件处理。

5.在Page_Load事件处理中添加如下代码,注册两个按钮为异步提交按钮。

protected void Page_Load(objectsender, EventArgs e)

{

ScriptManager1.RegisterAsyncPostBackControl(DecrementButton);

ScriptManager1.RegisterAsyncPostBackControl(IncrementButton);

}

6.添加如下代码创建一个MasterButton_Click事件处理。

{

    switch(((Control)sender).ID)

    {

        case"IncrementButton":

            this.Offset =this.Offset +1;

            break;

        case"DecrementButton":

            this.Offset =this.Offset -1;

            break;

    }

    ((UpdatePanel)ContentPlaceHolder1.FindControl("UpdatePanel1")).Update();

    Calendar cal =((Calendar)ContentPlaceHolder1.FindControl("Calendar1"));

    DateTime newDateTime =DateTime.Today.Add(newTimeSpan(Offset, 0, 0, 0));

    cal.SelectedDate =newDateTime;

protected void MasterButton_Click(objectsender, EventArgs e)

{switch(((Control)sender).ID)

{case "IncrementButton":this.Offset = this.Offset + 1;break;case "DecrementButton":this.Offset = this.Offset - 1;break;

}

((UpdatePanel)ContentPlaceHolder1.FindControl("UpdatePanel1")).Update();

Calendar cal= ((Calendar)ContentPlaceHolder1.FindControl("Calendar1"));

DateTime newDateTime= DateTime.Today.Add(new TimeSpan(Offset, 0, 0, 0));

cal.SelectedDate=newDateTime;

}

7.在Master Page中创建一个公有的属性Offset,来显示所选择的日期和当天之差。

publicInt32 Offset

{get{return (Int32)(ViewState["Offset"] ?? 0); }set{ ViewState["Offset"] =value; }

}

8.在Content Page中,切换到设计视图并双击Calendar控件添加一个SelectionChanged事件处理,当用户选择日期时设置Offset属性。

9.添加如下代码到SelectionChanged事件处理中。

protected void Calendar1_SelectionChanged(objectsender,EventArgs e)

{

DateTime selectedDate=Calendar1.SelectedDate;

Master.Offset=((TimeSpan)Calendar1.SelectedDate.Subtract(

DateTime.Today)).Days;

}

10.在Content Page页面的Page_Load事件中添加如下代码。

protected void Page_Load(objectsender, EventArgs e)

{

DateTime newDateTime=DateTime.Today.Add(newTimeSpan(Master.Offset,0, 0, 0));

Calendar1.SelectedDate=newDateTime;

}

11.添加@ MasterType标记到页面中,以便可以作为强类型属性引用Master Page页面的Offset属性。

12.在Content Page中切换到设计视图,并选择UpdatePanel控件。

13.在属性窗口中设置UpdateMode为Conditional。

14.保存并按Ctrl + F5运行。

15.在Calendar控件中单击上一月和下一月按钮,可以看到整页刷新。

16.选择一个日期并单击Master Page中的按钮,可以看到仍然没有整页刷新。

[翻译自官方文档]

原文:http://www.cnblogs.com/feng-NET/p/4696569.html

asp.net 母版与ajax使用 updatepanel,ASP.NET AJAX入门系列(9):在母版页中使用UpdatePanel...相关推荐

  1. ASP.NET AJAX入门系列(9):在母版页中使用UpdatePanel

    本文简单介绍一下在母版页中使用UpdatePanel控件,翻译自官方文档.<?XML:NAMESPACE PREFIX = O /> 主要内容 1.添加UpdatePanel控件到Cont ...

  2. ASP.NET AJAX入门系列(5):使用UpdatePanel控件(二)

    UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件,其强大之处在于不用编写任何客户端脚本,只要在一个页面上添加 ...

  3. 【转】ASP.NET AJAX入门系列

    ASP.NET AJAX入门系列将会写关于ASP.NET AJAX一些控件的使用方法以及基础知识,其中部分文章为原创,也有一些文章是直接翻译自官方文档,本部分内容会不断更新. 目录 ASP.NET A ...

  4. ASP.NET AJAX入门系列

    ASP.NET AJAX入门系列将会写关于ASP.NET AJAX一些控件的使用方法以及基础知识,其中部分文章为原创,也有一些文章是直接翻译自官方文档,本部分内容会不断更新. 目录 ASP.NET A ...

  5. ASP.NET AJAX入门系列相关资料收集

    声明:转自TerryLee的blog和自己整理的一些资料下载. ASP.NET AJAX入门系列将会写关于ASP.NET AJAX一些控件的使用方法以及基础知识,其中部分文章为原创,也有一些文章是直接 ...

  6. [转]ASP.NET中使用UpdatePanel实现局部异步刷新方法和攻略

    本文转自:http://blog.csdn.net/chenhongwu666/article/details/41392529/ asp.net UpdatePanel实现异步局部刷新如有雷同,不胜 ...

  7. ASP.NET中使用UpdatePanel实现局部异步刷新方法和攻略

    asp.net UpdatePanel实现异步局部刷新 如有雷同,不胜荣欣,若转载,请注明 鉴于最近项目需要,研究了一下UpdatePanel控件的使用方法,现总结如下,可能有很多地方不足,还望大家斧 ...

  8. ASP.NET AJAX入门系列(1):概述

    经常关注我的Blog的朋友可能注意到了,在我Blog的左边系列文章中,已经移除了对Atlas学习手记系列文章的推荐,因为随着ASP.NET AJAX 1.0 Beta版的发布,它们已经不再适用,为了不 ...

  9. ASP.NET AJAX入门系列(11):在多个UpdatePanle中使用Timer控件

    本文将使用Timer控件更新两个UpdatePanel控件,Timer控件将放在UpdatePanel控件的外面,并将它配置为UpdatePanel的触发器,翻译自官方文档.<?XML:NAME ...

最新文章

  1. MP4移动商学院―――管理者贴身教练!
  2. 云拨测助力节卡机器人 全面优化海外网站性能
  3. Windows下及Mac下的IntelliJ IDEA快捷键
  4. Flutter:使用复选框进行下拉多选
  5. jQuery版本的网页开关灯、jQuery版本网页开关灯的另一种写法
  6. C语言试题六十八之请编写函数实现亲密数
  7. 听说你盗图都盗绿了?
  8. js操作select标签
  9. 九宫格锁屏和设置密码(九点密码盘)
  10. 双光耦开关电源电路图_双路输出回扫式开关电源电路图
  11. 信息安全 - 密码学 (中法)
  12. 电脑w ndows无法自动修复,电脑无法自动修复,开不了机怎么办
  13. 组合模型——Tree models、Boosting、 Committee
  14. delphi技巧总结收集
  15. 华为手机语音通话时断时续原因
  16. Java自由虾旅行平台菜单功能
  17. 邮储银行计算机岗位笔试题,中国邮政储蓄银行各类岗位笔试经验汇总
  18. 单片机只会调库和复制别人的代码是什么水平?
  19. 【BZOJ3144】【HNOI2013】切糕(网络流)
  20. 虹科案例 | 解决ASRS系统的痛点问题居然这么简单?(上)

热门文章

  1. 三星s5 android 5.0 root权限,三星N9008S 5.0 root教程_三星N9008S获取5.0系统root权限
  2. android agps,Android应用开发Android GPS ——AGPS源码分析及配置
  3. 如何将光盘制作为iso文件
  4. GMT时间、UTC时间、Unix时间戳
  5. 航天院入两万,是一种什么体验!
  6. Android的AAC架构
  7. Promise的理解与使用(收藏版)
  8. 手机产品框架层设计: 两种主要的布局方式
  9. Mysql学习笔记day1 --三天学完mysql所有知识点
  10. 为什么说阿里财报是一种“信心指数”?