protected void Page_Load(object sender, EventArgs e)
{
   add();//页面会成功显示li
}
protected void btnSelect_Click(object sender, EventArgs e)
{
   add();//跟代码, li.InnerHtml中有值,但是页面不显示,这个是什么原因???
}
private void add()
{
   for (int i = 0; i < dt.Rows.Count; i++)
  {
     li.InnerHtml += "<li>时间</li>";
     li.InnerHtml += "<li>地点</li>";
   }
}
ul.Controls.Add(li);

解决方案 »

  1.   

    private void add()
    {
    li.InnerHtml +="<ul>"
       for (int i = 0; i < dt.Rows.Count; i++)
      {
         li.InnerHtml += "<li>时间</li>";
         li.InnerHtml += "<li>地点</li>";
       }
    li.InnerHtml +="</ul>"}
    或者像上楼说的用Repeater控件都是比较直接的。。
      

  2.   

    ul.Controls.Add(li);//ul在页面已经固定位置了,在这个<ul>中动态添加<li>,Page_Load显示正常,但是用button加载就页面为空白,不正常显示
      

  3.   

    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack)  
    {
        add();//页面会成功显示li
    }
    }
      

  4.   


    <div>
                <div >
                    <ul class="cl" id="ul" runat="server">
                    
                    </ul>
                </div>
            </div>
      

  5.   

    近段时间,刚写了一个图片跑马灯,有动态创建功能:你可以看这篇有一个铵钮“图片输出”
    http://www.cnblogs.com/insus/archive/2012/03/08/2385223.htmlDim di As New DirectoryInfo(HttpContext.Current.Server.MapPath(InsusBase.SlideMarqueeImageDirectory))
            Dim fiArray As FileInfo() = di.GetFiles()
            For i As Integer = 0 To fiArray.Length - 1
                ul1.InnerHtml &= "<li><img src=""" & ResolveUrl(InsusBase.SlideMarqueeImageDirectory) & fiArray(i).Name & """ width=""" & _Width & """ height=""" & _Height & """ /></li>"
            Next
      

  6.   

    我想知道,为什么同样调用一个方法,Page_Load就能正常显示,button事件就不能显示????
      

  7.   

    因为点击的时候页面刷新了,又LOAD了一次。
      

  8.   

    跟这个没关系,把Page_Load调用的注掉,点击button的,也不显示
      

  9.   

    把前台和 你后台LI、UI的申明都贴出来看下。
      

  10.   

    protected void Page_Load(object sender, EventArgs e)
    {
       if (!IsPostBack)   
       {
          add();//页面会成功显示li
       }
    }
    protected void btnSelect_Click(object sender, EventArgs e)
    {
       add();//跟代码, li.InnerHtml中有值,但是页面不显示,这个是什么原因???
    }
    private void add()
    {
       for (int i = 0; i < dt.Rows.Count; i++)
      {
         li.InnerHtml += "<li>时间</li>";
         li.InnerHtml += "<li>地点</li>";
       }
    }
    ul.Controls.Add(li);<div>
                <div >
                    <ul class="cl" id="ul" runat="server">
                    
                    </ul>
                </div>
            </div>
      

  11.   

    protected void Page_Load(object sender, EventArgs e)
    {
       if (!IsPostBack)   
       {
          add();//页面会成功显示li
       }
    }
    protected void btnSelect_Click(object sender, EventArgs e)
    {
       add();//跟代码, li.InnerHtml中有值,但是页面不显示,这个是什么原因???
    }
    private void add()
    {
       for (int i = 0; i < dt.Rows.Count; i++)
      {
         li.InnerHtml += "<li>时间</li>";
         li.InnerHtml += "<li>地点</li>";
       }
    ul.Controls.Add(li);}
    <div>
                <div >
                    <ul class="cl" id="ul" runat="server">
                    
                    </ul>
                </div>
            </div>
      

  12.   

    页面加载的时候dt能够取到值
    当你点击btnSelect的时候,调试下,我想你取到的dt是空吧
    所以你先看看dt的赋值问题
      

  13.   


    dt有值,li.InnerHtml显示也正常
      

  14.   


    HtmlGenericControl li = new HtmlGenericControl();//li的声明
    ul不用声明,它是直接写在页面中的
      

  15.   

    跟踪代码li.InnerHtml:
    <li><DIV class='avt z'><IMG src='../images/alarm.gif'/>
    <A  style='text-decoration:none;border-bottom:1px dashed #ccc; color:#333333' href=CargoRoadInfor.aspx?region=00003>黑石礁</A></DIV></li>
    <li><DIV class='avt z'><IMG src='../images/alarm.gif'/><A  style='text-decoration:none;border-bottom:1px dashed #ccc; color:#333333' href=CargoRoadInfor.aspx?region=00013>黑石礁</A></DIV></li>
    ul.Controls.Add(li);
    运行到这句也不报任何错误,但就是画面不显示,不会又是生命周期的问题吧
      

  16.   

       该说的上面的大侠都说了!
    只补充一句:
       对于拼接 html 内容的事 就丢给js 好了,
    c# (服务端)没有空搞这个,最多是response 一个json [xml]格式数据给 客户端,给js 解释去!

      不知你意下如何,我就是这样做的。
      

  17.   

    你这种方法,不用ajax不会显示的,你按钮事件会重新加载页面的,重新加载前不会保存控件状态.