求救,DataList数据绑定出错!!!
我的DataList里有一个HyperLink,现在要在代码页里给它做数据绑定(为什么不在控件里直接绑定的原因我就不多说了),代码如下:
for(int i = 0;i < dl.Items.Count && i < 4;i ++)
{
HyperLink hl = (HyperLink)dl.Items[i].FindControl("image");
hl.NavigateUrl = "View.aspx?table=" + sTable + "&id=" + ?????????;这里应该怎么写?
}
有的网友说可以在DataList中加个ID的隐藏列,除了用隐藏列还有什么方法可以实现呢??
完整的程序如下(如果大家有兴趣看的话):
----------------------------------------------------------------------------------------
string sTable = Request.QueryString["table"]; //数据库表名称
string sPage = Request.QueryString["page"];//分页控件的页面索引
string sConn = ConfigurationSettings.AppSettings["conn1"] + Server.MapPath(ConfigurationSettings.AppSettings["conn2"]);
string sComm = "SELECT * FROM " + sTable + " ORDER BY id DESC";
OleDbConnection conn = new OleDbConnection(sConn);
OleDbDataAdapter da = new OleDbDataAdapter(sComm,conn);
DataSet ds = new DataSet();
da.Fill(ds);
PagedDataSource ap = new PagedDataSource();//调用分页类
ap.DataSource = ds.Tables[0].DefaultView;
ap.AllowPaging = true;
ap.PageSize = 4;
int iPage = 0;
if(sPage != null)
{
iPage = Convert.ToInt32(sPage);
ap.CurrentPageIndex = iPage;
}
if(! ap.IsFirstPage)
{
prev.NavigateUrl = sPath + (iPage - 1).ToString();
}
if(! ap.IsLastPage)
{
next.NavigateUrl = sPath + (iPage + 1).ToString();
}
dl.DataSource = ap;
dl.DataBind();//DataList数据绑定
pages.Text = ap.PageCount.ToString();
current.Text = (iPage + 1).ToString();
for(int i = 0;i < dl.Items.Count && i < 4;i ++)
{
HyperLink hl = (HyperLink)dl.Items[i].FindControl("image");
hl.NavigateUrl = "View.aspx?table=" + sTable + "&id=" + ????????????;
}