主要解决:通过超链接向链接页传递两个参数(其中一个值是页面Label的值);
DataList嵌套绑定;
获取DataList当前行的值;
#页面代码
<asp:DataList ID="DataList3" runat="server" DataSourceID="SqlDataSource1" Width="1024px" Height="100%" OnItemDataBound="DataList3_ItemDataBound">
<ItemTemplate>
<table>
<tr>
<td style="font-size:14px;">
<img src="../Images/top3.gif" alt="最新发表" />
<a href='../CardManage/CardInfo.aspx?CardID=<%# Eval("Item_ID") %>&Name=<%=Label1.Text%>' style="color:Navy;" id="a1">
<asp:Label ID="Card_NameLabel" runat="server" Text='<%# Eval("Card_Name") %>' />
</a>
</td>
<td style="color:Black; font-family:Arial; font-size:13px;">
{回帖数:<asp:Label ID="Labcount" runat="server"></asp:Label>}
</td>
<td>
<asp:Label ID="labid" runat="server" CssClass="lab" Text='<%# Eval("Item_ID") %>'/>
</td>
<td style="font-size:13px;color:Black; font-family:Arial;" >
【<asp:Label ID="Send_NameLabel" runat="server" Text='<%# Eval("Send_Name") %>' />】
</td>
<td style="font-size:13px;color:Black; font-family:Arial;">
【<asp:Label ID="Send_TimeLabel" runat="server" Text='<%# Eval("Send_Time") %>' />】
<asp:LinkButton ID="lbtzd" runat="server" CommandArgument='<%# Eval("Item_ID") %>' CommandName="lbtzd" OnClick="lbtzd_Click">【置顶】</asp:LinkButton>
</td>
</tr>
</table>
<div style="color:Maroon; font-size:12px;">
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<table>
<tr>
<td>
<img src="../Images/icon_reply.gif" alt="最新回复" />
<a href='../CardManage/CardInfo.aspx?CardID=<%# Eval("Item_ID") %>' style="color:Maroon;">
<asp:Label ID="Rev_contentLabel" runat="server" Text='<%# Eval("Rev_content") %>' />
</a>
</td>
<td>
【<asp:Label ID="Rev_NameLabel" runat="server" Text='<%# Eval("Rev_Name") %>' />】
</td>
<td>
<asp:Label ID="Rev_TimeLabel" runat="server" Text='<%# Eval("Rev_Time") %>' />
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</div>
</ItemTemplate>
</asp:DataList>
<asp:Label ID="Label1" runat="server" Text="Label" CssClass="lab"></asp:Label>
#后台代码
//数据绑定
protected void DataList3_ItemDataBound(object sender, DataListItemEventArgs e)
{
Label lb = (Label)e.Item.FindControl("labid"); //找到控件Label的ID
Label lba = (Label)e.Item.FindControl("Labcount"); //找到控件Label的ID
DataList dl = (DataList)e.Item.FindControl("DataList1"); //找到嵌套在里面的DataListID
revertmanage.CardID = lb.Text;
DataSet ds = revertmanage.FindRevertByCID(revertmanage, "tb_Revert");
dl.DataSource = ds.Tables[0];
dl.DataBind();
DataSet das = revertmanage.GetReCount(revertmanage, "tb_Revert");
lba.Text = das.Tables[0].Rows[0][0].ToString();
}
//这个主要是掌握根据DataList当前行绑定的值进行数据库查询的方法
protected void lbtzd_Click(object sender, EventArgs e)
{
LinkButton lbt=sender as LinkButton;
string cid = Convert.ToString(lbt.CommandArgument);
if (Session["Pop_Name"] == "Adminger" || Session["Pop_Name"] == "Admin")
{
cardmanage.CardID = cid.ToString();
cardmanage.TimeUp = DateTime.Now;
cardmanage.UpdateTime(cardmanage);
Response.Write("<script language=javascript>alert('置顶贴子成功成功!');window.location.href=window.location.href;</script>");
}
else
{
Sessions["ID"]=null;
Response.Redirect("Eeeor.aspx");
}
}