gpt4 book ai didi

c# - 没有URL时如何隐藏图片控件?

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:20 25 4
gpt4 key购买 nike

我有 Repeater 控件,它有图像控件,有时这个图像控件没有数据,我想在它没有数据时隐藏它我做了代码,但它显示为没有数据的图像(不可用)请任何人帮助我。注意:该数据来自数据库,因此 Img 具有来自数据库的 Id 但没有值(NULL)

protected void DLHome_ItemDataBound(object sender, RepeaterItemEventArgs e)
{

Image Img = e.Item.FindControl("ModelLogo") as Image;
using (SqlConnection con = Connection.GetConnection())
{
string Sql = "Select Logo From Model";
SqlCommand com = new SqlCommand(Sql, con);
com.CommandType = CommandType.Text;
SqlDataReader dr = com.ExecuteReader();
if (dr.Read())
{
string Img2 = dr["Logo"].ToString();
if (Img2 == System.DBNull.Value.ToString())
{
Img.Visible = false;
}
}


}



}

最佳答案

更好的方法是在用于填充 Repeater 的原始查询中检索 Logo 数据。然后,您将能够根据该数据在图像上设置 Visible 属性,而不必在绑定(bind)每一行时执行新的数据库查询。这将大大提高页面的性能。

关于您发布的代码,您没有将图像 ID 传递给 SQLCommand

   string Sql = "Select Logo From Model where ImageId = @ImageId";

//Assuming List<ImageModel> is what you are binding to the repeater
ImageModel model = e.Item.DataItem as ImageModel;
com.Parameters.Add("@ImageId", SqlDbType.Int32, model.ImageId);

关于c# - 没有URL时如何隐藏图片控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3554069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com