我后台在
 protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                HtmlAnchor xiugai = (HtmlAnchor)e.Item.FindControl("xiugai");
            }
        }前台是datalist<ItemTemplate>
            <table cellspacing="0" border="0" style="width:100%;border-collapse:collapse;" class="msgtable">
                <tr align="left">
                    <td width="8%">
<a href="javascript:void(0)" onclick="show('edit',500,420,this,'fd_move2');href1('<%#Eval("unitsystemid")%>');return false;" runat="server" id="xiugai">修改</a>
</td>
</tr>
</tabel>
运行时,为什么修改娶不到这个标签值??

解决方案 »

  1.   

    你这个A是客户单的,你在A里面加个 runat=“server” 就可以访问了~
      

  2.   

    我的A标签里面有runat="server"啊
      

  3.   

    我这个是在<ItemTemplate>里啊
      

  4.   

    成立,很奇怪很奇怪的问题啊
    如果我这样写
    <a runat="server" id="xiugai" href="javascript:void(0)" onclick="show('edit',500,420,this,'fd_move2');href1('<%#Eval("unitsystemid")%>');return false;">修改</a>
    后台就能正常执行了
    但是前台显示成如下了
    ');return false;">修改 
      

  5.   

    return false;这个完全可以去掉
      

  6.   

    写成这样试试:
    onclick="show('edit',500,420,this,'fd_move2');href1('<%#Eval("unitsystemid").ToString()+");return false;"%>')
      

  7.   

    <ItemTemplate> 里面的服务器控件在后台是找不到的。因为加载之后它的ID会变的。
      

  8.   

    <a runat="server" id="xiugai" href="javascript:void(0)" onclick=<%#"show('edit',500,420,this,'fd_move2');href1('"+(string)Eval("unitsystemid")+"');return false;"%>>修改</a>