熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

asp.net Repeater 數據綁定的具體實現

2013-11-13 10:35:27  來源: .NET編程 

  以下為設計步驟

  

  在C# 中連接數據庫如下圖
在項目中添加新建項建立一個數據集並把Categories從服務器資源列表中拖到這個數據集模板中並點擊菜單“生成-生成解決方案”如下圖

  

  在aspx的webform上放一個ObjectDataSource控件設定它的TypeName為剛剛建立的數據集類型用它的向導建立即可
在aspx的webform上放一個Repeater控件用它的向導設定它的DataSourceID為上面的ObjectDataSource
在網頁中設定它的源碼即加上<itemTemplate><AlternatingItemTemplate>等模板如下面的代碼

復制代碼 代碼如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Defaultaspxcs" Inherits="RepeaterDefault" %>

  <!DOCTYPE html PUBLIC "//WC//DTD XHTML Transitional//EN" "

  <html xmlns="
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form" runat="server">
    <div>

        <asp:ObjectDataSource ID="ObjectDataSource" runat="server"
            OldValuesParameterFormatString="original_{}" SelectMethod="GetData"
            TypeName="RepeaterDataSetEmployeesTableAdaptersCategoriesTableAdapter">
        </asp:ObjectDataSource>
        <asp:Repeater ID="Repeater" runat="server" DataSourceID="ObjectDataSource"
            onitemdatabound="Repeater_ItemDataBound"
            onitemcreated="Repeater_ItemCreated">
        <HeaderTemplate>
           類別表
           <table border=""><th>類別ID</th><th>類別名稱</th><th& gt;描述</th><th>圖片</th>
        </HeaderTemplate>
        <ItemTemplate>
           <tr>
             <td><%#Eval("CategoryID")%></td>
             <td>
                 <asp:TextBox ID="TextBox" runat="server" Text=<%#Eval("CategoryName")%>></asp:TextBox>
             </td>
             <td><%#Eval("Description")%></td>
             <td><img alt="None" src=<%#Eval("Picture")%> /></td>
           </tr>

        </ItemTemplate>
        <AlternatingItemTemplate>
           <tr>
             <td style="backgroundcolor:Blue"><%#Eval("CategoryID")%></td>
             <td  style="backgroundcolor:Blue">
               <asp:TextBox ID="TextBox" runat="server" Text=<%#Eval("CategoryName")%>></asp:TextBox>
             </td>
             <td  style="backgroundcolor:Blue"><%#Eval("Description")%></td>
             <td  style="backgroundcolor:Blue"><img alt="None" src=<%#Eval("Picture")%> /></td>
           </tr>
        </AlternatingItemTemplate>
        <FooterTemplate>
          </table>
        </FooterTemplate>
        </asp:Repeater>

    </div>
    </form>
</body>
</html>

  
要求在類別名稱中帶"O"的編輯框顯示紅色則寫出以下代碼

復制代碼 代碼如下:
protected void Repeater_ItemDataBound(object sender RepeaterItemEventArgs e)
        {
            if (eItemItemType == ListItemTypeAlternatingItem)
            {

  TextBox tb = (TextBox)eItemFindControl("TextBox");
                if (tbTextContains("o"))
                {
                    tbBackColor = ColorRed;
                }

            }
        }

  
運行顯示的效果為

  


From:http://tw.wingwit.com/Article/program/net/201311/14067.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.