日期:2014-05-19  浏览次数:20429 次

高手的你在遇到这个问题时你是如何解决的!都快急死人了…………
我用datagrid绑定一个某一张表,其中有一列是超级连接列,代码如下
<ItemTemplate>
<asp:HyperLink   runat= "server "   NavigateUrl= ' <%#   DataBinder.Eval(Container,   "DataItem.x_id ",   "ShowContent.aspx?xid={0} ")   %> '
Text= ' <%#   DataBinder.Eval(Container,   "DataItem.x_name ")   %> '>
</asp:HyperLink>
</ItemTemplate>

现在的一个问题是如何在其中添加一个方法,该方法是判断该超级链接是否有内容,如何没有内容,则该访问链接失效;如果有内容,则链接有效;
请问各位老师这该如何实现,请老师们给段代码帮我解决一下我的难题!

------解决方案--------------------
如果超级连接没有文本内容, 请问你如何做超级连接?
------解决方案--------------------
先别着急,说明白你的问题
------解决方案--------------------
他是说连接所指向的空间把
------解决方案--------------------
用客户端脚本:
<ItemTemplate>
<asp:HyperLink runat= "server " NavigateUrl= "javascript:relink( ' <%# DataBinder.Eval(Container, "DataItem.x_id ", "ShowContent.aspx?xid={0} ") %> ') "
Text= ' <%# DataBinder.Eval(Container, "DataItem.x_name ") %> '>
</asp:HyperLink>
</ItemTemplate>

<script>
function relink(url)
{
if(url!=null && url.length> 0) //这里看你怎么判断
location = url;
}
</script>

我没有测试,你自己试试!
------解决方案--------------------


<ItemTemplate>
<asp:HyperLink runat= "server " NavigateUrl= ' <%# Convert.ToInt32(DataBinder.Eval( "DataItem.x_id "))> 0 ? "ShowContent.aspx?xid= "+Eval(DataItem.x_id "): "# " %> '
Text= ' <%# DataBinder.Eval(Container, "DataItem.x_name ") %> '>
</asp:HyperLink>
</ItemTemplate>