CQ-CSER

计算机爱好者

AjaxControlToolkit

Posted on | 十二月 22, 2009 | No Comments

1、首先添加AjaxControlToolkit动态链接库的引用。
2、在项目的Web.Config 中的紫色标记位置添加如下标签:
<system.web>
       <trust level=”Medium”/>
       <pages>
         <controls>
           <add tagPrefix=”asp” namespace=”System.Web.UI” assembly=”System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″/>
        <add namespace=”AjaxControlToolkit” assembly=”AjaxControlToolkit” tagPrefix=”ajaxToolkit”/>
         </controls>
       </pages>
3、在使用Accordion 的页面中添加如下类型的代码。

<ajaxToolkit:Accordion
    ID="MyAccordion" //用于编程的时候访问此控件的名字
          runat="Server" //指明属于服务器端控件
    SelectedIndex="0" //默认选择的折叠信息页
    HeaderCssClass="accordionHeader" //信息标题的CSS式样
    HeaderSelectedCssClass="accordionHeaderSelected" //选择了信息标题后的CSS式样
    ContentCssClass="accordionContent" //内容的CSS式样
    AutoSize="None" //内容高度和宽度是否自动适应。None自动适应。Limit和Fill在IE6、7的效果一样,都是限制高度
    FadeTransitions="true" //是否启用信息展开时候的渐进溅出效果
    TransitionDuration="250" //渐进的时候的延迟,以毫秒计算
    FramesPerSecond="40" //在渐进效果中的刷新频率
    RequireOpenedPane="false" //是否必须要展开其中的至少一个信息。这个属性决定着是否本身实现展开和收缩。如果是False,就只能通过点击别的信息来收起本身的信息。如果是True就可以通过点击单个信息标题实现展开和收缩效果。
    SuppressHeaderPostbacks="true"> //是否支持标题的Postback属性。当你需要在标题中包含超级连接的时候很有用。
    <Panes>//需要自己手动添加的代码,用来包容ajaxToolkit:AccordionPane。因为ajaxToolkit:AccordionPane不能直接放在ajaxToolkit:Accordion中。
              <ajaxToolkit:AccordionPane  //可折叠信息
            HeaderCssClass="accordionHeader"  //信息标题的CSS式样
            HeaderSelectedCssClass="accordionHeaderSelected" //选择标题后的CSS式样
            ContentCssClass="accordionContent"> //内容的CSS式样
                  <Header> . . . </Header> //标题信息标签,标签之间填写标题
                  <Content> . . . </Content> //内容标签,标签之间填写内容
              </ajaxToolkit:AccordionPane>          
              .
              .
              .
    </Panes> //需要自己手动添加的代码
    <HeaderTemplate>...</HeaderTemplate> //用于数据绑定的标题模板,可以通过后台编程的方式动态生成可折叠信息
    <ContentTemplate>...</ContentTemplate> //用于数据绑定的内容模板,可以通过后台编程的方式动态生成可折叠信息
</ajaxToolkit:Accordion>
Accordion高级技巧 之 动态绑定技术
前台页面中编写如下代码:
<ajaxToolkit:Accordion id="dictionaryBound" runat="server"
            HeaderCssClass="accordionHeader" ContentCssClass="accordionContent">
            <HeaderTemplate>
                Header: <%# Eval("Key") %>
            </HeaderTemplate>
            <ContentTemplate>
                Data: <%# Eval("Value") %>
            </ContentTemplate>
        </ajaxToolkit:Accordion>
后台页面中编写类似于下面的代码:
using System.Data.SqlClient;
using System.Collections.Generic;
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                SqlDataAdapter sda = new SqlDataAdapter("SELECT [RegionID] as Header, [RegionDescription] as Content FROM [Region]", "Data Source=E5CA92C31A97444;Initial Catalog=Northwind;Integrated Security=True");
                DataTable dt = new DataTable();
                sda.Fill(dt);
                Dictionary<string, string> values = new Dictionary<string, string>();
                foreach (DataRow dr in dt.Rows)
                {
                    values[dr["Header"].ToString()] = dr["Content"].ToString();
                }
                dictionaryBound.DataSource = values;
                dictionaryBound.DataBind();
            }
        }
AjaxControlToolkit的dll以及atlas需要的两个个dll
(System.Web.Extensions.Design.dll,System.Web.Extensions.dll)
在普通website项目里引用这三个dll.web.config里面加上如下配置:
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false"
type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false"
type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd"
type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
<httpModules>
<add/>
</httpModules>
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</controls>
</pages>

安装ASPAJAXExtSetup.msi

软件说明:
1、安装ASPAJAXExtSetup.msi。
2、把AjaxControlToolkit.dll放到一个合适的文件夹里,加到系统缓存里。
3、把安装目录下(C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025)
Microsoft.Web.Extensions.Design.dll和Microsoft.Web.Extensions.dll加到系统缓存里。

加缓存方法:
在cmd里运行:cd C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin

再运行C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin>gacutil -i “C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025\AjaxControlToolkit.dll”

如果-i后面的路径有空格就在路径前后加”"。如:C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin>gacutil -i “C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025\Microsoft.Web.Extensions.Design.dll”

gacutil -i “C:\Program Files\Microsoft ASP.NET\

评论|Comments

留言|Leave a Reply





  • Archives

  • SUNSHINE

  • About

    本博客采用创作共用版权协议,要求署名、非商业用途和保持一致. 转载本博客内容也遵循“署名-非商业用途-保持一致”的创作共用协议.

    订阅

    Search

    Admin