<table cellSpacing="0" cellpadding="0" width="100%" border="0">
  <tr>
    <td align="center">
      <asp:Literal runat="server" ID="listHtml"></asp:Literal>
   </td>
  </tr>
</table>aspx中Literal是用来以列表的方式显示一系列从数据库中读出来的数据。在相应的cs里面,完成了给这个"listHtml"的赋值。就是每读出一条数据,就往它后面追加一段类似如下的语句
<table cellSpacing="1" cellpadding="1" width="100%" border="0">
            <tr>
              <td align="right" width="60px">...</td>
              <td align="left"><em>...</em></td>
           </tr>
            <tr>
              <td align="right" width="60px">...</td>
              <td align="left"><em>...</em></td>
           </tr>
</table>现在在显示数据之外,还要在每条数据后面加一个删除按钮,请问怎么做啊?我试过往那段追加的语句中添了<asp:button...>的语句,但是结果给我显示了整页只有一个按钮,根本不是我想要的结果。我本来用reapter可以做到的,但是boss要求必须要用这种方式来做,以保持和其他同事的代码一致。
很着急,非常非常着急,快被逼死了,高人指点下,谢谢了。

解决方案 »

  1.   


    在页面上放PlaceHolder
    后台
    PlaceHolder.Controls.add(new Literal("<table cellSpacing='1' cellpadding='1' width='100%' border='0'>"));
    PlaceHolder.Controls.add(...);
    .....
      

  2.   


    都不相同的。生成的aspx页面代码如果单独考出来,是可以显示成我要的那样子,但是在这个页面中就是不行
      

  3.   

    用Placeholder动态添加的按钮,事件响应怎么不是按照所写的方法里面来的啊?像页面状态回发了一样。但是我!IsPostBack了呀
      

  4.   

    正确的做法:
    Button btn = new Button();
    btn.id = "save";
    btn.onClick += ...
    按tab键 注册监听
    PlaceHolder.Controls.add(btn); 
    不要直接
    PlaceHolder.Controls.add(new Literal("<button id='save' runat = 'server' onclick = 'save_click'/>"));