DataList显示表A的数据,其中有字段A1值为true或false,我想程序自动判断如果为true ,则显示DataList的B1,我程序如下:aspx:
<asp:DataList ID="DataList1" runat="server" DataKeyField="Id" Width="620px" OnItemDataBound="DataList1_ItemDataBound">cs:
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label TuanGouORLiShouLabel = (Label)e.Item.FindControl("A1");
string TGOrLS = A1.Text;
Response.Write(TGOrLS);//全部A1的字段全显示出来了,没有办法进行一行进行一次判断后显示数据。
////if (TGOrLS == "true")
////{ //// HyperLink HyperLink5 = (HyperLink)e.Item.FindControl("HyperLink5");
//// HyperLink5.Visible = false; ////} } }但我在调试时发现TGOrLS把全部A1的字段全显示出来了,全部A1的字段全显示出来了,而我想达到的却是一行数据进行判断一次,然后显示相关控件。求解
<asp:DataList ID="DataList1" runat="server" DataKeyField="Id" Width="620px" OnItemDataBound="DataList1_ItemDataBound">cs:
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label TuanGouORLiShouLabel = (Label)e.Item.FindControl("A1");
string TGOrLS = A1.Text;
Response.Write(TGOrLS);//全部A1的字段全显示出来了,没有办法进行一行进行一次判断后显示数据。
////if (TGOrLS == "true")
////{ //// HyperLink HyperLink5 = (HyperLink)e.Item.FindControl("HyperLink5");
//// HyperLink5.Visible = false; ////} } }但我在调试时发现TGOrLS把全部A1的字段全显示出来了,全部A1的字段全显示出来了,而我想达到的却是一行数据进行判断一次,然后显示相关控件。求解
{
if(str=="false")
return str1;
else
return str2;
}:)
而且应该从数据源的每一行来取值进行比较protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string TGOrLS = ((DataRowView)e.Item.DataItem).Row["A1"].ToString();
if (TGOrLS == "true")
{ HyperLink HyperLink5 = (HyperLink)e.Item.FindControl("HyperLink5");
HyperLink5.Visible = false;}}}
<%# Eval("字段").ToString() == "true" ? "等于true时内容" : "不等于true时内容" %>