我是初学者,现在需要在网页的某一块动态生成一段html代码(代码中可能包含从数据库中得到的数据),目前我只会这么一个蠢办法:页面上需要生成的位置给一个div快,加上id和runat =server,<div ID="logo" runat="server"></div>这样,系统自动生成了一个HtmlGenericControl控件logo,我用这个控件的InnerHtml塞入一段html代码StringBuilder sb = new StringBuilder();
sb.Append("<div ID=\"我的代码">");
sb.Append(model.BHT_MainHttp);
sb.Append("</div>");
logo.InnerHtml = sb.ToString();但是这样存在一个问题,最后生成的页面上,会有一个多余的,id为logoxxxxx的div块,这个块里包含的才是我需要的代码,怎么才能不这需要这个多余的div块来搞定呢

解决方案 »

  1.   


    老兄,你误解我的意思了,我还不需要搞那种非同步的页面生成,我就是要生成一般的html代码,效率高,速度块即可,主要是用来生成静态html的
      

  2.   

    注册js试试看吧:
    string _s = "$get('"+this.logo.CliendID+"').innerHTML='"+sb.ToString()+"';"
    ScriptManager.RegisterStartupScript(this, this.GetType(), "", _s, true);
      

  3.   

    更正:CliendID 应为 ClientID
      

  4.   

    就没有基于asp.net本身在web页面某个制定位置插入一段自己在后台代码里定义的html的办法吗?楼上的方法感觉都不是很如意啊
      

  5.   

    当然是可以的,问题是,你最好不要把客户端编程模型和服务器端编程模型纠结在一起,
    如果你要从后台动态添加html,要么全部发送客户端脚本,
    要么全部调用微软提供的服务器端的html编程模型,更多细节参见MSDN:
    http://msdn.microsoft.com/zh-cn/library/tct4wcsd(v=vs.80).aspx
      

  6.   

    请教什么是模版替换方法?google了一圈没答案