注意一点:这超链的显示与否是动态生成的我是想在点击超链的时候给出一个确认的信息(confirm)。
因为这超链的显示与否是动态生成的,所以我没有用<a href>
而是处理了<asp:HyperLink/> 的Visible属性,但是这样子
我就处理不了它的onclick事件(因为它是在DataList下的,所以
每条纪录中相应的超链的名字是不一样的)我也尝试用<asp:Panel/>,然后处理<asp:Panel/>的Visible属性,
在<asp:Panel/>中使用<a href>,但是这样子会有个显示的问题,
就是<a href>会在第二行显示(因为在<asp:Panel/>中),
我希望它是在同一行显示,因为我有多个超链要处理(对每条纪录
来说),而且它们显示与否的条件不一样。

解决方案 »

  1.   

    你可以使用HyperLink WebControl的Attributes属性。xxx.attributes.Add("onclick", "return confirm('your prompt?')")大致如此,呵呵!
      

  2.   

    System.Web .UI .WebControls .HyperLink tt=(HyperLink)this.DataGrid1.Items[i].FindControl ("HyperLink3");
    tt.Attributes["onclick"] = "return confirm('your message')";
      

  3.   

    假设:有个绑定的数据源名称叫objDt.而对应于HyperLink3的连接地址的数据字段为"Url".那么可以这么写:(在ItemDataBound事件中)int intIndex = e.Item.ItemIndex;if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
    HyperLink ObjLink=(HyperLink)e.Item.FindControl("HyperLink3");
    if (objDt.Rows[intIndex][Url].ToString() != "")
    {
    tt.Attributes.Add("onClick", "javascript:return confirm('your message')";
    }
    }
      

  4.   


    Attributes.Add("onClick", "javascript:return confirm('your message')";