foreach (DataRow dr in ds.Tables["Article"].Rows) { if (dr["uploadfiles"].ToString() != "") { f = dr["uploadfiles"].ToString(); } else { f= dr["Articleid"].ToString(); }
HyperLink HyperLink5 = (HyperLink)Repeater1.FindControl("HyperLink5"); //查找控件是吧,你确定找到了控件?! if (dr["uploadfiles"].ToString() != "") //确定这里没是空?! if (dr["uploadfiles"].ToString() != "") { f = dr["uploadfiles"].ToString(); } else { f= dr["Articleid"].ToString(); //确定这里也能有值 } 根据你所给的代码,只能怀疑以上几种情况,自己检查一下.
你给 HyperLink5 绑定值的是在那个事件中阿? 应该是事件的问题
foreach (DataRow dr in ds.Tables["Article"].Rows) { if (dr["uploadfiles"].ToString() != "") { f = dr["uploadfiles"].ToString(); } else { f= dr["Articleid"].ToString(); }
if (HyperLink5 != null) { HyperLink5.NavigateUrl = f; } } 循环一堆数据,然后绑定到单一的控件? 你应该把HyperLink控件放入有绑定事件的控件中(DataList,GridView,Repeatert等).然后设定NavigateUrl的绑定值. 还有. if (dr["uploadfiles"].ToString() != "") { f = dr["uploadfiles"].ToString(); } else { f= dr["Articleid"].ToString(); } 这些判断都放到Sql语句中,只返回一个绑定列就行了.再绑定到(DataList,GridView,Repeatert等).
{
if (dr["uploadfiles"].ToString() != "")
{
f = dr["uploadfiles"].ToString();
}
else
{
f= dr["Articleid"].ToString();
}
if (HyperLink5 != null)
{
HyperLink5.NavigateUrl = f;
}
} 你这样好像HyperLink5.NavigateUrl的值永远是最后一条记录的值
//查找控件是吧,你确定找到了控件?!
if (dr["uploadfiles"].ToString() != "")
//确定这里没是空?!
if (dr["uploadfiles"].ToString() != "")
{
f = dr["uploadfiles"].ToString();
}
else
{
f= dr["Articleid"].ToString();
//确定这里也能有值
} 根据你所给的代码,只能怀疑以上几种情况,自己检查一下.
应该是事件的问题
{
if (dr["uploadfiles"].ToString() != "")
{
f = dr["uploadfiles"].ToString();
}
else
{
f= dr["Articleid"].ToString();
}
if (HyperLink5 != null)
{
HyperLink5.NavigateUrl = f;
}
}
循环一堆数据,然后绑定到单一的控件?
你应该把HyperLink控件放入有绑定事件的控件中(DataList,GridView,Repeatert等).然后设定NavigateUrl的绑定值.
还有.
if (dr["uploadfiles"].ToString() != "")
{
f = dr["uploadfiles"].ToString();
}
else
{
f= dr["Articleid"].ToString();
}
这些判断都放到Sql语句中,只返回一个绑定列就行了.再绑定到(DataList,GridView,Repeatert等).