博客
关于我
asp.net ajax技巧7
阅读量:127 次
发布时间:2019-02-26

本文共 2116 字,大约阅读时间需要 7 分钟。

继续读老章的书,这次是看到如何在一个master页面中放些按钮,然后点的时候,更新content页面中的东西,而且可以做到局部更新。先看主MASTER页面
master页面的前台
<form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server" />
            <asp:Panel ID="MasterPanel1" runat="server" GroupingText="主控页面">
               <asp:Button ID="MasterButton1" runat="server" Text="整页更新" />
               <asp:Button ID="MasterButton2" runat="server" Text="局部更新" OnClick="MasterButton2_Click" Width="128px" />
            </asp:Panel>
            <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
            </asp:ContentPlaceHolder>
        </div>
master页面的后台

 protected void Page_Load(object sender, EventArgs e)

    {
        ScriptManager1.RegisterAsyncPostBackControl(MasterButton2);
    }

    public DateTime LastUpdate

    {
        get
        {
            if(ViewState["LastUpdate"] == null)
            {
                return DateTime.Now;
            }
            else
            {
                return Convert.ToDateTime(ViewState["LastUpdate"]);
            }
        }
        set
        {
            ViewState["LastUpdate"] = value;
        }
    }

    protected void MasterButton2_Click(object sender, EventArgs e)

    {
        LastUpdate = DateTime.Now;
        UpdatePanel up1 = (UpdatePanel)(ContentPlaceHolder1.FindControl("UpdatePanel1"));
        up1.Update();
    }

注意这里因为希望主页面的“局部更新”按钮能引发异步更新内容页面中的UPDATEPANEL控件的内容,因此必须用
        ScriptManager1.RegisterAsyncPostBackControl(MasterButton2);
注册该按钮引发的事件。
   要注意masterbutton2_click事件的写法,调用内容页中的updatepanel控件的UPDATE方法来更新内容。
然后在内容页中前台中

<%@ Page Language="C#" MasterPageFile="~/ThirdMasterPage.master" AutoEventWireup="true"

    CodeFile="CH3_DemoForm040.aspx.cs" Inherits="CH3_DemoForm040" Title="如何于主控页面中使用 UpdatePanel 控件" %>

<%@ MasterType VirtualPath="ThirdMasterPage.master" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <asp:Panel ID="Panel2" GroupingText="内容页面" runat="server">
        <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
            <ContentTemplate>
                <p>
                    上一次更新:<strong><%= Master.LastUpdate.ToString() %></strong></p>
                <asp:Button ID="ContentButton" OnClick="ContentButton_Click" runat="server" Text="局部更新">
                </asp:Button>
            </ContentTemplate>
        </asp:UpdatePanel>
    </asp:Panel>
</asp:Content>

后台中,为其“局部更新”编写相关的事件,以将当前日期时间给主控页面的lastupdate属性
protected void ContentButton_Click(object sender, EventArgs e)
    {
        Master.LastUpdate = DateTime.Now;
    }

转载地址:http://zssf.baihongyu.com/

你可能感兴趣的文章
Mysql学习总结(66)——设置MYSQL数据库编码为UTF-8
查看>>
Mysql学习总结(68)——MYSQL统计每天、每周、每月、每年数据 SQL 总结
查看>>
Mysql学习总结(69)——Mysql EXPLAIN 命令使用总结
查看>>
Mysql学习总结(6)——MySql之ALTER命令用法详细解读
查看>>
Mysql学习总结(70)——MySQL 优化实施方案
查看>>
Mysql学习总结(71)——MySQL 重复记录查询与删除总结
查看>>
Mysql学习总结(73)——MySQL 查询A表存在B表不存在的数据SQL总结
查看>>
Mysql学习总结(77)——温故Mysql数据库开发核心原则与规范
查看>>
Mysql学习总结(78)——MySQL各版本差异整理
查看>>
Mysql学习总结(79)——MySQL常用函数总结
查看>>
Mysql学习总结(7)——MySql索引原理与使用大全
查看>>
Mysql学习总结(80)——统计数据库的总记录数和库中各个表的数据量
查看>>
Mysql学习总结(81)——为什么MySQL不推荐使用uuid或者雪花id作为主键?
查看>>
Mysql学习总结(82)——MySQL逻辑删除与数据库唯一性约束如何解决?
查看>>
Mysql学习总结(83)——常用的几种分布式锁:ZK分布式锁、Redis分布式锁、数据库分布式锁、基于JDK的分布式锁方案对比总结
查看>>
Mysql学习总结(84)—— Mysql的主从复制延迟问题总结
查看>>
Mysql学习总结(85)——开发人员最应该明白的数据库设计原则
查看>>
Mysql学习总结(8)——MySql基本查询、连接查询、子查询、正则表达查询讲解
查看>>
MySQL学习笔记十七:复制特性
查看>>
Mysql学习第一课-mysql的定义及sql语句
查看>>