atlas學習系列一(簡單體驗)
學習atlas有一段時間了,培訓講座也聽了些,但是具體沒有使用過,準備寫一個atlas學習系列,從簡單的開始,逐一學習總結一下atlas的
用法,本文介紹如何使用atlas來支持簡單的無刷新效果。主要目的是體會一下atlas的強大功能。用的也是atlas官方demo,大家可以在它網站
上下載,自己只是簡單重復的實踐了一把。
1.母頁
2.頁面
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<atlas:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" ></atlas:ScriptManager>
<div>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True">
<asp:ListItem Value="true">Compeleted</asp:ListItem>
<asp:ListItem Value="false">Active</asp:ListItem>
</asp:DropDownList>
<atlas:UpdateProgress ID="UpdateProcess1" runat="server">
<ProgressTemplate>updateing
</ProgressTemplate>
</atlas:UpdateProgress>
</div>
<div>任務列表-Grid形式</div>
<div>
<atlas:UpdatePanel ID="UpdatePanel1" runat="server" RenderMode="Block" Mode="Always">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" DataSourceID="ObjectDataSource2" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" DataKeyNames="ID" ForeColor="#333333" GridLines="None" Width="422px">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:BoundField DataField="ProjectName" HeaderText="ProjectName" SortExpression="ProjectName" />
<asp:CheckBoxField DataField="Compeleted" HeaderText="Compeleted" SortExpression="Compeleted" />
</Columns>
<RowStyle BackColor="#EFF3FB" />
<EditRowStyle BackColor="#2461BF" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</ContentTemplate>
</atlas:UpdatePanel>
<asp:ObjectDataSource ID="ObjectDataSource2" runat="server" DeleteMethod="Delete"
InsertMethod="Insert" OldValuesParameterFormatString="original_{0}" SelectMethod="GetDataTable"
TypeName="SimpleDemo1DataSet1TableAdapters.SimpleDemo1TableAdapter" UpdateMethod="Update" EnableCaching="True" SqlCacheDependency="AtlasDemoDb:SimpleDemo1">
<DeleteParameters>
<asp:Parameter Name="Original_ID" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="ProjectName" Type="String" />
<asp:Parameter Name="Compeleted" Type="Boolean" />
<asp:Parameter Name="Original_ID" Type="Int32" />
</UpdateParameters>
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="IsCompleted" PropertyName="SelectedValue"
Type="Boolean" />
</SelectParameters>
<InsertParameters>
<asp:Parameter Name="ProjectName" Type="String" />
<asp:Parameter Name="Compeleted" Type="Boolean" />
</InsertParameters>
</asp:ObjectDataSource>
</div>
<div>
<atlas:UpdatePanel ID="UpdatePanel2" runat="server" Mode="Conditional"><ContentTemplate>
<asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="423px" AutoGenerateRows="False" BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" CellPadding="3" DataKeyNames="ID" DataSourceID="ObjectDataSource2" GridLines="Horizontal" DefaultMode="Insert">
<FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
<EditRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
<PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
<Fields>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True"
SortExpression="ID" />
<asp:BoundField DataField="ProjectName" HeaderText="ProjectName" SortExpression="ProjectName" />
<asp:CheckBoxField DataField="Compeleted" HeaderText="Compeleted" SortExpression="Compeleted" />
<asp:CommandField ShowInsertButton="True" />
</Fields>
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
<AlternatingRowStyle BackColor="#F7F7F7" />
<RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
</asp:DetailsView>
</ContentTemplate>
<Triggers><atlas:ControlValueTrigger ControlID="DropDownList1" PropertyName="SelectedValue" /></Triggers>
</atlas:UpdatePanel>
</div>
</asp:Content>

1.atlas:ScriptManager :我揣摩加上這個標簽,頁面就注冊了一下調用服務器端ajax代碼的js,從原文件中也可以看出,在相應位置,產生如下代碼為:
<script src="/AtlasSimpleDemo1/WebResource.axd?d=3gMGO8vzpNXUSzrvQy_2DWGsjQkw1bBJAFDl2m1MpwDm2AZlxbopKEnT5eJLSEwvAiV62wgEk-T92L62_VXqXS2eRY-oB8mtk5RkTqZ5wSM1&t=632870166220000000" type="text/javascript"></script>
<script src="atlasglob.axd" type="text/javascript"></script>
2.atlas:UpdateProgress , ProgressTemplate
生成一個div標簽,以后更改div的visiable。
3。atlas:UpdatePanel
a. ContentTemplate 我估計加上這種標簽,相當于將該標簽下的控件變成ajax控件,即交互都通過xmlhttp來實現。
b.Triggers 這個標簽用來處理頁面事件。分為兩類
1)atlas:ControlValueTrigger : 控件值觸發,比如設置控件為DropDownList1,源代碼中就在DropDownList1控件生成的Select表單加上onchange= "javascript:setTimeout('__doPostBack(\'ctl00$ContentPlaceHolder1$DropDownList1\',\'\')', 0)"如下語句。這樣就可以觸發該控件的事件了。
2)atlas:ControlEventTrigger:估計是截取控件事件,將js方法寫到指定方法中。
先寫道這里,有空寫下一篇。
作者:jillzhang
出處:http://jillzhang.cnblogs.com/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
出處:http://jillzhang.cnblogs.com/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

浙公網安備 33010602011771號