repeater 判断绑定值

2024-12-12 14:17:51
推荐回答(2个)
回答1:

在页面类里面写个方法判断一下这个对象的sex字段是0还是1,
public string returnStr(string str)
if(str=="1")
{
return "男头像的路径";
}
else
{
return "女头像的路径";
}
这个参数就是对象的sex属性,在repeater中绑定的时候用一个label显示sex,绑定头像时图片路径src='<%# returnStr(label.text)%>'

回答2:

我想楼上说的那种if语句你是知道的吧,你是不是想问怎样在数据库把sex的记录一条一条的获取出来?只要把记录获取出来了,再用一楼朋友的那种方法就可以实现了。下面是我写的一个可以一行一行记录获取的代码,你自己看看吧,希望对你有用。
protected void bindPicture()
{
if (!IsPostBack)
{
OleDbConnection conPicture;
OleDbCommand cmdPicture;
OleDbDataReader dtrPicture;
string conString, selectString;

conString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + System.Web.HttpContext.Current.Server.MapPath("admin/App_Data/Database1.mdb");
selectString = "SELECT TOP 5 * FROM [新闻信息] ORDER BY [newsID] DESC";
conPicture = new OleDbConnection(conString);
cmdPicture = new OleDbCommand(selectString, conPicture);

conPicture.Open();
dtrPicture = cmdPicture.ExecuteReader();
do
{
// 通过DataReader的Read方法,依次读取一个SQL语句的查询结果
while (dtrPicture.Read())
{
object[] cols = new object[5];
int n = dtrPicture.GetValues(cols);
strPics = strPics + "|" + dtrPicture[3].ToString();//[]内的数字代表数据表中第几列的值,0代表第一列,1为第二列,以此类推
strLinks = strLinks + "|" + dtrPicture[2].ToString();
strTexts = strTexts + "|" + dtrPicture[1].ToString();
}
// 通过DataReader的NextResult()方法,读取下一个SQL语句的查询结果
}
while (dtrPicture.NextResult());
strPics = strPics.Substring(1, strPics.Length - 1);
strLinks = strLinks.Substring(1, strLinks.Length - 1);
strTexts = strTexts.Substring(1, strTexts.Length - 1);
dtrPicture.Close();
conPicture.Close();
}
}