DataList 中的控件 HyperLink 绑定数据问题
各位高手请帮忙看下,前台代码:<asp:HyperLinkID="hlk_PicUrl"runat="server"ImageUrl='<%#Eval("picurl")...
各位高手请帮忙看下,
前台代码:
<asp:HyperLink ID="hlk_PicUrl" runat="server"
ImageUrl='<%# Eval("picurl") %>'
NavigateUrl='<%# Eval("weburl") %>' Target="_blank" Width="252px" Height="155px"></asp:HyperLink>
后台代码:
trSQL1 = "select id,classname from nts_indexclass";
strSQL2 = "select id,title,content,postdate,classid,classname,weburl,picurl,phoneurl from nts_indexData where state=1 " + DataClass.GetSession("areawhere");
strSQL1 += " order by sort";
strSQL = strSQL1;
IDataReader da = DataClass.GetDataReader(strSQL);
IDataReader dr = DataClass.GetDataReader(strSQL);
dr.Read();
if (dr["phoneurl"].ToString() == "")
{
hlk_PhonePic.Visible = false;
}
错误提示“找不到hlk_PhonePic”
目的是如果NavigateUrl的值为空,hlk_PhonePic这个值就不显示。 展开
前台代码:
<asp:HyperLink ID="hlk_PicUrl" runat="server"
ImageUrl='<%# Eval("picurl") %>'
NavigateUrl='<%# Eval("weburl") %>' Target="_blank" Width="252px" Height="155px"></asp:HyperLink>
后台代码:
trSQL1 = "select id,classname from nts_indexclass";
strSQL2 = "select id,title,content,postdate,classid,classname,weburl,picurl,phoneurl from nts_indexData where state=1 " + DataClass.GetSession("areawhere");
strSQL1 += " order by sort";
strSQL = strSQL1;
IDataReader da = DataClass.GetDataReader(strSQL);
IDataReader dr = DataClass.GetDataReader(strSQL);
dr.Read();
if (dr["phoneurl"].ToString() == "")
{
hlk_PhonePic.Visible = false;
}
错误提示“找不到hlk_PhonePic”
目的是如果NavigateUrl的值为空,hlk_PhonePic这个值就不显示。 展开
3个回答
展开全部
你在前台代码中<asp:HyperLink ID="hlk_PicUrl",后台当然找不到 hlk_PhonePic这个控件啊
应该在if下这样写:
hlk_PicUrl.NavigateUrl=""
或者
hlk_PicUrl.Visible = false
对追问回复:
我想你是在数据绑定控件中用到这个控件吧?那么你这样绑定数据是不对的,应该在对应数据控件的DataBound事件中逐条绑定数据,找到逐条数据对应的HyperLink控件
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
......
HyperLink hlk = (HyperLink)e.Item.FindControl("hlk_PicUrl");
hlk.Visible=false;
........
}
应该在if下这样写:
hlk_PicUrl.NavigateUrl=""
或者
hlk_PicUrl.Visible = false
对追问回复:
我想你是在数据绑定控件中用到这个控件吧?那么你这样绑定数据是不对的,应该在对应数据控件的DataBound事件中逐条绑定数据,找到逐条数据对应的HyperLink控件
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
......
HyperLink hlk = (HyperLink)e.Item.FindControl("hlk_PicUrl");
hlk.Visible=false;
........
}
展开全部
前台改成:<%#Eval("weburl").ToString() == "" ? "":"<asp:HyperLink ID='hlk_PicUrl' runat='server'
ImageUrl=' Eval("picurl") '
NavigateUrl=' Eval("weburl") ' Target='_blank' Width='252px' Height='155px'></asp:HyperLink>"%>
这一段:
if (dr["phoneurl"].ToString() == "")
{
hlk_PhonePic.Visible = false;
}
删除。
ImageUrl=' Eval("picurl") '
NavigateUrl=' Eval("weburl") ' Target='_blank' Width='252px' Height='155px'></asp:HyperLink>"%>
这一段:
if (dr["phoneurl"].ToString() == "")
{
hlk_PhonePic.Visible = false;
}
删除。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
前面 HyperLink 的id 是hlk_PicUrl 当然找不到 hlk_PhonePic啦
追问
抱歉,失误,但是如果换成hlk_PicUrl 也会显示找不到这个"hlk_PicUrl"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询