All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
在DataList中使用用户控件_[Asp.Net教程]

Writer: delv Article type: Programming skills(编程技巧) Time: 2014/1/24 9:15:44 Browse times: 350 Comment times: 0

在DataList中使用用户控件_[Asp.Net教程]


Head photo

Go homepage
Upload pictures
Write articles

在DataList中使用用户控件_[Asp.Net教程]

DataList相对于datagrid对数据的显示要灵活一些(还是在vs2003的叫法).应为DATALIST提供了几个模板,而在模板中可以灵活的放置一些自定义的用户控件。具体实施如下:

先创建用户控件:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="authorNormal.ascx.cs" Inherits="authorNormal" %>



作者编号:





作者姓名:




后台代码:

private string au_ID;
public string Au_ID
{
set
{
au_ID = value;
}
get
{
return au_ID;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.bind();
}
}
private void bind()
{
SqlDataReader sdr = new Author().show(this.Au_ID );
while (sdr.Read())
{
this.lblId.Text = sdr["au_id"].ToString();
this.lblName .Text = sdr["au_lname"].ToString().Trim() + " " + sdr["au_fname"].ToString().Trim();
}
}
}

注意:要定义用户控件的一个属性,该属性可以是只写的,用于接收datalist绑定的信息。

前台页面的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="UserControlInDataList.aspx.cs" Inherits="UserControlInDataList" %>

<%@ Register Src="authorNormal.ascx" TagName="authorNormal" TagPrefix="uc1" %>



无标题页












Au_ID =<%#DataBinder.Eval(Container.DataItem,"au_id") %>>








后台代码:

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.DataList1.DataSource = new Author().bind();
this.DataList1.DataBind();
this.DataList1.DataKeyField = "au_id";
}
}

在绑定的页面内容时候,可以使用任何的数据(查询后的,或内存,或从XML文件加载都可以)。

特别要强调的是:如果是根据条件查询后的往往要通过viewstate或session传递,如果传递的数据多,可以将数据先一个arraylist中,然后传递,然后在datalist页面绑定的时候,可以借助于一个虚拟表。

来源:sdtsfhh的blog





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.