RadToolTipManager, usercontrol, ListView配合使用

 

 

<asp:ListView ID="rptProjectList" runat="server" DataSourceID="ObjectDataSource1"

                DataKeyNames="ProjectID" EnableViewState="true"

  OnItemDatabound="rptProjectList_ItemDataBound" >                <EmptyDataTemplate>

                    

                </EmptyDataTemplate>

                <ItemTemplate>

<%# hasProjectDetail(Eval("ProjectID")) ? "<li id=/"" + Eval("ProjectID") + "/"><a href='#'>" : "<li>"%>

                     <%# Eval("ProjectTitle")%>

                     <%# hasProjectDetail(Eval("ProjectID")) ? "</a></li>" : "</li>"%>

                </ItemTemplate>

              </asp:ListView>

 

             <asp:ObjectDataSource ID="ObjectDataSource1" runat="server"

                SelectMethod="GetProjects" TypeName="Cloud1.Projects.BLL.ProjectManager">

            </asp:ObjectDataSource>

 

<telerik:RadToolTipManager ID="radProjectDetail" runat="server" ShowEvent="OnClick" RelativeTo="Mouse"

ManualClose="true" Position="MiddleRight" Animation="Resize" OnAjaxUpdate="radProjectDetail_AjaxUpdate" ContentScrolling="Y" Sticky="true" Height="560"

            />

 

Cs 代码

    protected bool hasProjectDetail(object projectID)

    {

        return ProjectManager.hasProjectDetail(projectID.ToString());

    }

 

protected void radProjectDetail_AjaxUpdate(object sender, Telerik.Web.UI.ToolTipUpdateEventArgs e)

    {

        this.UpdateToolTip(e.Value, e.UpdatePanel); //Update tool tip

    }

 

    private void UpdateToolTip(string elementID, UpdatePanel panel)

    {

        Control ctrl = Page.LoadControl("~/UserControls/ProjectDetail.ascx");

 

        panel.ContentTemplateContainer.Controls.Add(ctrl); //载入ProjectDetail.ascx控件

        UserControls_ProjectDetail details = (UserControls_ProjectDetail)ctrl;

        details.ProjectID = elementID; //把客户端的ID传给UserControl中的ProjectID

    }

    protected void rptProjectList_ItemDataBound(object sender, ListViewItemEventArgs e)

    {

        ListViewDataItem dataItem = (ListViewDataItem)e.Item;

        Project project = dataItem.DataItem as Project; //把ListViewDataItem转化为object Project

        if (project != null)

        {

            this.radProjectDetail.TargetControls.Add(project.ProjectID, project.ProjectID, true); //第二个参数作为OnAjaxUpdate 中的e.Value

        }

    }

 

 

User control 代码

    <div class="projectDetail">

        <div class="projectDescription">

            <h1><%= project.ProjectTitle %></h1>

            <p><%= project.ProjectDescription %></p>

        </div>

        <asp:Repeater ID="rptPictures" runat="server">

            <ItemTemplate>

                <img id="Img1" src='<%# "~/Products/Thumbnail.aspx?file=" + Eval("PictureFile") + "&size=250" + "&folder=~/Products/Pictures/        Projects" %>' alt='<%# Eval("PictureDescription") %>' runat="server" />

            </ItemTemplate>

        </asp:Repeater>

</div>

public partial class UserControls_ProjectDetail : System.Web.UI.UserControl

{

    private string _projectID;

    public string ProjectID //OnAjaxUpdate中LoadControl获取ProjectID

    {

        get { return _projectID; }

        set { _projectID = value; }

    }

 

    protected Project project = new Project();

 

    protected void Page_Load(object sender, EventArgs e)

    {

        project = ProjectManager.GetProjectByProjectID(ProjectID);

        List<ProjectPicture> pictures = new List<ProjectPicture>();

        pictures = ProjectManager.GetProjectPictureByProjectID(ProjectID);

        rptPictures.DataSource = pictures;

        rptPictures.DataBind();

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值