利用 Repeater 获取 其中的Html,进行编程~~

刚开始用 Panel 试了试 发现会自动加个div 很讨厌。。

 

最后用的 Repeater 做的,主要原理就是 页面放个 Repeater,然后手工建立一个table表,建立一条记录,然后让Repeater绑定这个数据,然后渲染这个Html,得到他,然后牛能对他进行编程了,然后把这个Repeater进行隐藏。。

 

下面把代码放上来,代码不高深,关键在思路~~ 之前一直是loadHtml做的,昨天忽然想,要是放到aspx页面里会更方便些。。

 

下面附上代码:

前台代码

<%=setPanel.outStr(this.Panel1) %>
    <asp:Panel ID="Panel1" runat="server">
    fkjfds
    </asp:Panel>

 


    <%=setTemplate.outStr(this.Repeater1) %>
    <asp:Repeater ID="Repeater1" runat="server" >
        <ItemTemplate>jjj</ItemTemplate>
    </asp:Repeater>

 

类代码

public class setPanel
{
    public setPanel()
    {
        //
        // TODO: 在此处添加构造函数逻辑
        //
    }
    public static string outStr(Panel pl)
    {
        System.IO.StringWriter sw = new System.IO.StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);

 

        pl.RenderControl(htw);
        pl.Visible = false;

        return sw.ToString()+"pengpengModi";
    }
}

 

public class setTemplate
{
    public setTemplate()
    {
        //
        // TODO: 在此处添加构造函数逻辑
        //
    }

 

    public static string outStr(Repeater rep)
    {
        System.IO.StringWriter sw = new System.IO.StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);

        //创建个数据库Dt
        System.Data.DataTable dt = new DataTable("dtTest");
        dt.Columns.Add("id", typeof(String));
        dt.Rows.Add(new Object[] { "test" });
        rep.DataSource = dt;
        rep.DataBind();
        rep.RenderControl(htw);
        rep.Visible = false;
        return "peng1"+sw.ToString()+"modi";
    }
}

 

 

posted @ 2010-07-08 11:38  彭成刚  阅读(523)  评论(0编辑  收藏  举报