`

Repeater里的点击事件

阅读更多

<%@ Control Language="c#" AutoEventWireup="false" Codebehind="DownLoadCompositerMoreTableRepeater.ascx.cs" Inherits="CE.TourismIndustryWebsite.ExplainProscenium.strProsceniumUserControl.DownLoadCompositerMoreTableRepeater" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
<%@ Register TagPrefix="cc1" Namespace="CE.TourismIndustryWebsite.PagerControl" Assembly="AspNetPager" %>
<%@ Import namespace="System.Data"%>
<%@ Import namespace="System"%>
<asp:repeater id="rptDownLoadCompositer" runat="server" OnItemCommand="showItem">
<HeaderTemplate>
<table>
<tr>
<td>推荐
</td>
<td>标识图
</td>
<td>文件名称
</td>
<td>讲解地区
</td>
<td>文件大小
</td>
<td>下载次数
</td>
<td>下载
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="lblID" Runat="server" Visible=False Text='<%# DataBinder.Eval(Container.DataItem,"id")%>'>
</asp:Label><%# DataBinder.Eval(Container.DataItem,"is_recommendation")%>
</td>
<td><a href="../ExamWindows/DownloadNumRangeInfo.aspx?ID=<%# DataBinder.Eval(Container.DataItem,"id")%>"><img src="<%# DataBinder.Eval(Container.DataItem,"pic_path")%>"></a>
</td>
<td><%# DataBinder.Eval(Container.DataItem,"name")%>
</td>
<td><%# (DataBinder.Eval(Container.DataItem,"are_name")).ToString().Replace("县","")%>
</td>
<td><%# GetFormatString((double)DataBinder.Eval(Container.DataItem,"sizes"))%>
</td>
<td><%# DataBinder.Eval(Container.DataItem,"down_times")%>
</td>
<td>
<asp:LinkButton ID="lnkbtn" Runat="server" CommandName="download" Text="download" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id") %>'>
</asp:LinkButton>
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:repeater>
<cc1:aspnetpager id="AspNetPager1" runat="server" PageSize="5" ShowInputBox="Always" ShowPageIndex="False"
PrevPageText="上一页" NextPageText="下一页" LastPageText="末页" FirstPageText="首页" InputBoxStyle="border:1px #0000FF solid;text-align:center"
SubmitButtonStyle="border:1px solid #000066;height:20px;width:25px" NumericButtonTextFormatString="[{0}]"
TextAfterInputBox="页" TextBeforeInputBox="第" ShowCustomInfoSection="Left" AlwaysShow="true" HorizontalAlign="Right"
Font-Size="XX-Small"></cc1:aspnetpager>
namespace CE.TourismIndustryWebsite.ExplainProscenium.strProsceniumUserControl
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Text;
using WindICFrameNet.Data;
using CE.TourismIndustryWebsite.PagerControl;

/// <summary>
///DownLoadCompositerMoreTableRepeater 的摘要说明。
/// </summary>
public class DownLoadCompositerMoreTableRepeater : System.Web.UI.UserControl
{
#region 变量
protected System.Web.UI.WebControls.Repeater rptDownLoadCompositer;
private WindICFrameNet.Data.DataHelper dataHelper;
protected CE.TourismIndustryWebsite.PagerControl.AspNetPager AspNetPager1;
private string search;
private string curId;
#endregion

#region 属性
public string CurID
{
get
{
return curId;
}
set
{
curId = value;
}
}
public string Search
{
get
{
return search;
}
set
{
search = value;
}
}
#endregion

#region 方法

public static string GetFormatString(double size)
{
string sizeString;
if (size >= 1048576)
{
sizeString = (Math.Round(size/1048576, 2)+" MB");
}
else if (size >= 1024)
{
sizeString = (Math.Round(size/1024, 2)+" KB");
}
else
{
sizeString = (size+" B");
}
return sizeString;
}
public void GetCompositorData(int PageNo)
{
int iPageCount;
int iRecordCount;
Search = "";
dataHelper = new WindICFrameNet.Data.DataHelper("TourismIndustryWebsite");
DataTable dt = dataHelper.ExecuteCustomPage("downloadExplanationFileList","id",""+Search+"","",this.AspNetPager1.PageSize,PageNo,1,out iPageCount,out iRecordCount).Tables[0];
this.AspNetPager1.RecordCount = iRecordCount;
this.AspNetPager1.CurrentPageIndex = PageNo;
rptDownLoadCompositer.DataSource=dt;
rptDownLoadCompositer.DataBind();
}



#endregion
#region 事件
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
GetCompositorData(1);

}
}
#region 翻页处理
private void AspNetPager1_PageChanged_1(object src, CE.TourismIndustryWebsite.PagerControl.PageChangedEventArgs e)
{
AspNetPager1.CurrentPageIndex = e.NewPageIndex;
GetCompositorData(e.NewPageIndex);
StringBuilder sb = new StringBuilder("<script Language=\"Javascript\"><!--\n");
sb.Append("var el=document.all;");
sb.Append(".scrollIntoView(true);");
sb.Append("<");
sb.Append("/");
sb.Append("script>");
if(!Page.IsStartupScriptRegistered("scrollScript"))
Page.RegisterStartupScript("scrollScript",sb.ToString());
}
#endregion
#endregion

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
///设计器支持所需的方法 - 不要使用代码编辑器
///修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.AspNetPager1.PageChanged += new CE.TourismIndustryWebsite.PagerControl.PageChangedEventHandler(this.AspNetPager1_PageChanged_1);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion


public void showItem ( Object src, RepeaterCommandEventArgs e )
{
//rptDownLoadCompositer.items.Text = e.Item.ItemType.ToString ( ) + " " +
//e.Item.ItemIndex.ToString ( ) + ", " +
//( ( LinkButton ) e.CommandSource ).Text + "<br>";
//string a = e.CommandArgument.ToString();
}


private void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{}

private void Repeater1_ItemCreated(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{}
}

private void Repeater1_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e)
{
int x = int.Parse(e.CommandArgument.ToString());

if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if(e.CommandName == "download")
{
string a = e.CommandArgument.ToString();
Response.Redirect("../ExamWindows/DownloadNumRangeInfo.aspx?ID=a");
}
}
}



}
}
------------------------------------------------------------------------------------------------------------------------------------------------

我说的够清楚了
首先添加按钮,然后按钮的commandname 你得赋值方便后面处理按钮的单击事件
然后在repeater事件里面写按钮的单击事件代码
<ItemTemplate>
<TABLE id="Table3" style="WIDTH: 197px; HEIGHT: 27px" cellSpacing="1" cellPadding="1" width="197"
align="center" border="0">
<TR>
<TD>
<asp:LinkButton id=btnSelect runat="server" ForeColor="MidnightBlue" CommandName="edit">
</asp:LinkButton></TD>
</TR>
</TABLE>
</ItemTemplate>

因为我用的是datalist而且button的commandname是edit所以是在datalist的editcommand事件里面写单击按钮的事件代码!!!!!
不过repeater是一样的
private void DataList1_EditCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{
//链接查询
LinkButton select =(LinkButton)e.Item.FindControl("btnSelect");
string DeptType = select.ToolTip.Trim();
int Index = DeptType.IndexOf("_");
string DeptTypeId = DeptType.Substring(0,Index);
Response.Redirect("DeptPhoneQuery.aspx?id="+DeptTypeId);
//Redirect
}

指定里面的repeater的ItemCommand事件
such as:

Repeater in_repeater=OuterRepeater.Controls.Find("InsideRepeater");

in_repeater.ItemCommand += new .....
button(linkbutton,imagebutton)控件类型的事件已经上传到父控件了,ItemCommand 可以接收到上传的事件。其他类型的控件可调用raisebubbleevent来上传事件。

分享到:
评论

相关推荐

    repeater 分页 的自定义控件

    repeater 通过在后台生成的linkbutton的点击事件进行分页

    在ASP.NET 2.0中操作数据之四十五:DataList和Repeater里的自定义Button

    为了让DataList有编辑和删除的功能,我们在ItemTemplate里添加了一些button,当点击时,引起postback,并根据button的CommandName属性激发相关的事件。例如,添加一个CommandName为“Edit”的button,在postback时会...

    ASP.NET Repeater 单双行数据换色示例

    ASP.NET Repeater 单双行数据换色根据点击Repeater的ItemCreated触发事件来时实现换色

    radiobutton重写后的控件

    实现repeater中使用radiobutton分组的控件重写

    Js+Flash实现访问剪切板操作

    然后遮盖到你要点击得按钮上面,之后在给这个flash得承载元素上绑定事件动态把要复制得值传递到flash中,用flash访问剪切板. 这时候就出现这么一个问题多个按钮如果每个按钮都加栽一遍flash得话会很吃内存并且动态得...

    ASP.NET3.5从入门到精通

    5.4.2 Click 单击事件 5.4.3 Command 命令事件 5.5 单选控件和单选组控件(RadioButton 和RadioButtonList) 5.5.1 单选控件(RadioButton) 5.5.2 单选组控件(RadioButtonList) 5.6 复选框控件和复选组控件...

    ASP.NET 3.5 开发大全11-15

    5.4.2 Click单击事件 5.4.3 Command命令事件 5.5 单选控件和单选组控件(RadioButton和RadioButtonList) 5.5.1 单选控件(RadioButton) 5.5.2 单选组控件(RadioButtonList) 5.6 复选框控件和复选组控件...

    ASP.NET 3.5 开发大全

    5.4.2 Click单击事件 5.4.3 Command命令事件 5.5 单选控件和单选组控件(RadioButton和RadioButtonList) 5.5.1 单选控件(RadioButton) 5.5.2 单选组控件(RadioButtonList) 5.6 复选框控件和复选组控件...

    ASP.NET 3.5 开发大全1-5

    5.4.2 Click单击事件 5.4.3 Command命令事件 5.5 单选控件和单选组控件(RadioButton和RadioButtonList) 5.5.1 单选控件(RadioButton) 5.5.2 单选组控件(RadioButtonList) 5.6 复选框控件和复选组控件...

    ASP.NET 3.5 开发大全word课件

    5.4.2 Click单击事件 5.4.3 Command命令事件 5.5 单选控件和单选组控件(RadioButton和RadioButtonList) 5.5.1 单选控件(RadioButton) 5.5.2 单选组控件(RadioButtonList) 5.6 复选框控件和复选组控件...

    ASPNET35开发大全第一章

    5.4.2 Click单击事件 5.4.3 Command命令事件 5.5 单选控件和单选组控件(RadioButton和RadioButtonList) 5.5.1 单选控件(RadioButton) 5.5.2 单选组控件(RadioButtonList) 5.6 复选框控件和复选组控件...

    ASP.Net皮肤换肤控件

    修改CurrentPageIndexn属性,允许在程序中任何地方以编程方式设置CurrentPageIndex的值来动态指定当前页,直接设置该属性的值时将同时引发PageChanging和PageChanged 事件,实现和点击分页按钮一样的分页功能;...

    AspNetPager控件及Demo源码 v7.4.4.rar

    修改CurrentPageIndexn属性,允许在程序中任何地方以编程方式设置CurrentPageIndex的值来动态指定当前页,直接设置该属性的值时将同时引发PageChanging和PageChanged 事件,实现和点击分页按钮一样的分页功能;...

    AspNetPager示例源码学习 7.2

    修改CurrentPageIndexn属性,允许在程序中任何地方以编程方式设置CurrentPageIndex的值来动态指定当前页,直接设置该属性的值时将同时引发PageChanging和PageChanged 事件,实现和点击分页按钮一样的分页功能;...

    AspNetPager7.2分页控件及Demo源码

    修改CurrentPageIndexn属性,允许在程序中任何地方以编程方式设置CurrentPageIndex的值来动态指定当前页,直接设置该属性的值时将同时引发PageChanging和PageChanged 事件,实现和点击分页按钮一样的分页功能;...

    AspNetPager控件及Demo源码 v7.4.4.zip

    修改CurrentPageIndexn属性,允许在程序中任何地方以编程方式设置CurrentPageIndex的值来动态指定当前页,直接设置该属性的值时将同时引发PageChanging和PageChanged 事件,实现和点击分页按钮一样的分页功能;...

    AspNetPager 7.2 7.02控件源码与示例

    修改CurrentPageIndexn属性,允许在程序中任何地方以编程方式设置CurrentPageIndex的值来动态指定当前页,直接设置该属性的值时将同时引发PageChanging和PageChanged 事件,实现和点击分页按钮一样的分页功能;...

Global site tag (gtag.js) - Google Analytics