ASP.Net/Asp Control/Repeater — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 14:52, 26 мая 2010
Содержание
ItemTemplate in a repeater
<source lang="csharp">
<%@ Page %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.SqlClient" %> <script runat="server">
Sub Page_Load(sender as Object, e as EventArgs) Const strConnString as String = "server=localhost;uid=sa;pwd=;database=pubs" Dim objConn as New SqlConnection(strConnString) Const strSQL as String = "SELECT * FROM authors" Dim objCmd as New SqlCommand(strSQL, objConn) Dim objDA as New SqlDataAdapter() objDA.SelectCommand = objCmd Dim objDS as New DataSet() objDA.Fill(objDS) objConn.Close() rptAuthors.DataSource = objDS rptAuthors.DataBind() End Sub
</script> <asp:repeater id="rptAuthors" runat="server">
<HeaderTemplate>
<%# DataBinder.Eval(Container.DataItem, "au_lname") %>, <%# DataBinder.Eval(Container.DataItem, "au_fname") %> |
</FooterTemplate>
</asp:repeater>
</source>
Repeater data binding
<source lang="csharp">
<script language="C#" runat="server"> public class State {
string _name; string _timezone; public State(string name, string timezone) { _name = name; _timezone = timezone; } public string Name { get { return _name; } } public string TimeZone { get { return _timezone; } }
} protected void Page_Load(object o, EventArgs e) {
if(!IsPostBack) { ArrayList states = new ArrayList(); states.Add(new State("Washington", "Pacific")); states.Add(new State("Utah", "Mountain")); repeaterVertical.DataSource = states; repeaterHorizontal.DataSource = states; repeaterVertical.DataBind(); repeaterHorizontal.DataBind(); }
} </script> <form runat="server">
<asp:Repeater runat="server" id="repeaterVertical"> <HeaderTemplate>
State | TimeZone |
---|---|
<%#((State)(Container.DataItem)).Name %> | <%#DataBinder.Eval(Container, "DataItem.TimeZone") %> |
<%#((State)(Container.DataItem)).Name %> | <%#DataBinder.Eval(Container, "DataItem.TimeZone") %> |
</asp:Repeater> <asp:Repeater runat="server" id="repeaterHorizontal"><HeaderTemplate>
State TimeZone |
<%#DataBinder.Eval(Container.DataItem, "Name") %> |
</ItemTemplate>
<AlternatingItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "Name") %> |
</AlternatingItemTemplate>
<FooterTemplate>
---|
</asp:Repeater> </form>
</source>
SelectedItemTemplate in repeater
<source lang="csharp">
<%@ Page Language="C#" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.SqlClient" %> <script runat="server" language="C#">
void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) BindData(); } void BindData() { const string strConnString = "server=localhost;uid=sa;pwd=;database=pubs"; SqlConnection objConn = new SqlConnection(strConnString); const string strSQL = "SELECT * FROM titles"; SqlCommand objCmd = new SqlCommand(strSQL, objConn); objConn.Open(); dlTitles.DataSource = objCmd.ExecuteReader(CommandBehavior.CloseConnection); dlTitles.DataBind(); objConn.Close(); } void DisplayBookDetails(object sender, EventArgs e) { BindData(); }
</script> <form runat="server">
<asp:DataList runat="server" id="dlTitles" OnSelectedIndexChanged="DisplayBookDetails" Font-Name="Verdana" Font-Size="11pt" ItemStyle-BackColor="#eeeeee" AlternatingItemStyle-BackColor="White" HorizontalAlign="Center" CellPadding="8"> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem, "title") %> [<asp:LinkButton runat="server" CommandName="Select" Text="View Book Details" />] </ItemTemplate> <SelectedItemTemplate>
Title: | <%# DataBinder.Eval(Container.DataItem, "title") %> |
Type: | <%# DataBinder.Eval(Container.DataItem, "type") %> |
Notes: | <%# DataBinder.Eval(Container.DataItem, "notes") %> |
</SelectedItemTemplate> </asp:DataList>
</form>
</source>
SeparatorTemplate in a repeater
<source lang="csharp">
<%@ Page Language="vb" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.SqlClient" %> <script runat="server">
Sub Page_Load(sender as Object, e as EventArgs) If Not Page.IsPostBack then BindData() End If End Sub Sub BindData() Const strConnString as String = "server=localhost;uid=sa;pwd=;database=pubs" Dim objConn as New SqlConnection(strConnString) Const strSQL as String = "SELECT * FROM titles" Dim objCmd as New SqlCommand(strSQL, objConn) objConn.Open() "Open the connection rptTitles.DataSource = objCmd.ExecuteReader(CommandBehavior.CloseConnection) rptTitles.DataBind() objConn.Close() "Close the connection End Sub Sub rptTitles_ItemCommand(sender As Object, e As RepeaterCommandEventArgs) If e.rumandName = "Details" then Dim lc as Label = e.Item.FindControl("lblTitleID") Dim strTitleID as String = lc.Text End If End Sub
</script> <form runat="server">
<asp:Repeater runat="server" id="rptTitles" OnItemCommand="rptTitles_ItemCommand"> <ItemTemplate> Title: <%# DataBinder.Eval(Container.DataItem, "title") %>
[<asp:LinkButton runat="server" id="btnDetails" Text="View Book Details" CommandName="Details" />] <asp:label id="lblTitleID" Visible="False" runat="Server" Text="<%# DataBinder.Eval(Container.DataItem, "title_id") %>" /> </ItemTemplate> <SeparatorTemplate>
</SeparatorTemplate> </asp:Repeater>
</form>
</source>