码迷,mamicode.com
首页 > 其他好文 > 详细

Repeater控件的使用

时间:2014-11-14 22:47:35      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   ar   os   使用   sp   for   

Repeater(foreach)用于对绑定数据源中的数据进行遍历显示,每条数据以什么格式显示是由Repeater的<ItemTemplate>来决定的,模板会多次显示,就像foreach, ItemTemplate 中相当于{}中的语句。

<ItemTemplate>姓名:<%#Eval(“Name”)%><b>年龄:<%#Eval(“Age”)%></b><br /></ItemTemplate>。注意:%和#中间不能有空格

<%#Eval("Name")%>表示在这个位置显示当前行的Name属性,注意调用Eval、Bind这些数据绑定方法的时候要用#

因为Eval就是将属性显示到指定的位置,因此也可以显示到HTML文本框中<ItemTemplate>姓名:<input type="text" value=‘<%#Eval("Name") %>‘ /></ItemTemplate>

注意不要写成value="<%#Eval(‘Name‘) %>" 因为<%%>中的是C#代码,‘‘是字符,而不是字符串。

还可以用在服务器控件<asp:TextBox Text=‘<%#Eval("Name") %>‘ runat="server"></asp:TextBox>

-------------------------------------------------------------------------------------------------------------------------------------------------------------

ObjectDataSource用来将一个类做为数据源,【TypeName属性】为数据源类的全名,有DeleteMethod【删除方法】、InsertMethod【新增方法】、SelectMethod【查询方法】、UpdateMethod【修改方法】等几个属性,分别为类中删除、插入、查询、更新数据的方法名。

这些方法可能有参数,参数的值是通过【DeleteParameters】、【UpdateParameters】、【InsertParameters】等嵌套节点设置的。

手工编写ObjectDataSource太麻烦,使用可视化界面来完成-----------将ObjectDataSource拖放到界面上,在右上角的智能标志上选择“配置数据源”即可进行配置。

--------------------------------------------------------------------------------------------------------------------------------------------------------------

DropDownList显示来自于ObjectDataSource的数据,选择数据源(DataSourceID属性)为刚才的ObjectDataSource,并且设定显示字段【DataTextField值字段【DataValueField即可。RadioButtonList、ListBox、CheckBoxList、BulletedList等也都是这么用。

手工设定绑定,除了可以给控件的【DataSourceID属性】设置一个数据源的方式进行数据绑定(推荐),还可以在代码中通过代码设置绑定DataSource (旧版本的ASP.Net只能这样绑定,新版本中不推荐)。 用代码绑定可以将任何实现了IEnumerable接口的对象绑定到数据绑定控件。

ListBox2.DataSource = new object[]{3,5,6};

ListBox2.DataBind();

由于数据绑定控件默认会将数据保存在ViewState中,因此不会每次刷新页面都会重新加载数据只有第一次需要加载(!IsPostBack) 由于代码绑定在禁用ViewState的情况下有很多麻烦事,因此推荐用DataSourceID的方式,控件会自己来判断是否应该重新取得数据。

DropDownList原有“请选择性别”和数据绑定项的共存:【AppendDataBoundItems=“true”】,把数据绑定的项加到后面。

----------------AutoPostBack="True"-----------AutoPostBack意思是自动回传,也就是说此控件值更改后是否和服务器进行交互~~!比如【Dropdownlist控件】,若设置为True,则你更换下拉列表值时会刷新页面(如果是网页的话),设置为flase就不会刷新了(也就是false时不和服务器交互)。

1     <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DataObjectTypeName="Maticsoft.Model.RoomType" DeleteMethod="Delete" SelectMethod="GetModelList" TypeName="Maticsoft.BLL.RoomType" UpdateMethod="Update">
2         <SelectParameters>
3             <asp:Parameter Name="strWhere" Type="String" />
4         </SelectParameters>
5     </asp:ObjectDataSource>
6     <asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True" AutoPostBack="True" DataSourceID="ObjectDataSource1" DataTextField="TypeName" DataValueField="TypeId" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
7         <asp:ListItem Value="-1">请选择类型</asp:ListItem>
8     </asp:DropDownList>
 1         /// <summary>
 2         /// 选择项改变时触发的事件
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
 7         {
 8             //取出的是实际的值即对应的ID
 9             //下面两句代码功能完全相同~!
10             //Maticsoft.Common.MessageBox.Show(this, DropDownList1.SelectedValue);
11             Maticsoft.Common.MessageBox.Show(this, DropDownList1.SelectedItem.Value);
12 
13             //取出的是展示的值Text
14             Maticsoft.Common.MessageBox.Show(this, DropDownList1.SelectedItem.Text);
15         }

 

Repeater控件的使用

标签:style   blog   io   color   ar   os   使用   sp   for   

原文地址:http://www.cnblogs.com/skyl/p/4098284.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!