如何将客户端动态生成的html控件(非设计时把HtmlTable转换为服务端控件)转换 为asp.net服务器端控件

时间:2020-11-29 18:03:22
比如:
      我在Textbox里输入
      <table id = "table1"><tr><td>客户动态生成的表格</td></tr></table>
      再将这个Textbox里的内容,赋于Literal1.text 这样页面刷新后会多了一表 
      格,我想将这个动态生成的table转服务端控件,这样可以在后台代码里进行方
      便读取,可能吗???????

11 个解决方案

#1


1.动态添加表格行

Function AddRow(ByVal i, ByVal tr1)

        Dim td1 As New TableCell()
        Dim td2 As New TableCell()
        Table2.CellPadding = 0
        Table2.CellSpacing = 0

        tr1.BackColor = Color.LightGray

        td1.HorizontalAlign = HorizontalAlign.Center
        td2.HorizontalAlign = HorizontalAlign.Center
        td1.VerticalAlign = VerticalAlign.Middle
        td1.BorderColor = Color.Black
        td2.BorderColor = Color.Black



        td1.BorderWidth = Unit.Pixel(1)
        td2.BorderWidth = Unit.Pixel(1)

        Dim txtXx As New TextBox()
        txtXx.Width = Unit.Pixel(50)
        txtXx.ID = "xx" + i.ToString()


        td1.Text = "option" + i.ToString()
        td2.Controls.Add(txtXx)

        tr1.Cells.Add(td1)
        tr1.Cells.Add(td2)

        Table2.Rows.Add(tr1)

    End Function
    Function addrow2(ByVal i)
        Dim txtXx As New TextBox()
        txtXx.Width = Unit.Pixel(10)
        txtXx.ID = "xx" + i.ToString()
        Page.Controls.Add(txtXx)
    End Function
    Function add3(ByVal tr As TableRow)
        Dim txtXx As New TextBox()
        txtXx.Width = Unit.Pixel(100)
        txtXx.ID = "xx" + i.ToString()
        txtXx.Text = "option" + i.ToString()

        Dim td As New TableCell()
        td.Controls.Add(txtXx)
        tr.Cells.Add(td)
        Table2.Rows.Add(tr)
    End Function
给你个例子看有用吗

#2


你这个例子是在后台代码里动态生成表格吧?

#3


当然应该这样,客户端有几人有脾气来输入</table>...

#4


是啊 不知有帮助吗

#5


我的这个程序的作用是为了从一个网站去取某个网页的一个表格数值,我把这个网页的html代码里的某个〈table>到〈/table>之间的代码在客户端转换为普通html控件如果能直接转换服务器端就方便多了

#6


你应该在后台直接生成HtmlTable控件再加入到Page上呀

#7


能给代码吗?最好是c#

#8


好几天都没有答,看来是没办法了????

#9


gz

#10


这应该不可以,不过你可以这样处理:
    把动态生成的table 赋一个名称后,你用javascript客户端代码把这个table里的所有数据存放到一个服务器端的textbox.text里,再通过客户端调用服务器事件(比如一个按钮的事件据)去取这个textbox.text就可以实现了!!!

#11


to:ningqiang 多谢了,我要的就是这种效果!

#1


1.动态添加表格行

Function AddRow(ByVal i, ByVal tr1)

        Dim td1 As New TableCell()
        Dim td2 As New TableCell()
        Table2.CellPadding = 0
        Table2.CellSpacing = 0

        tr1.BackColor = Color.LightGray

        td1.HorizontalAlign = HorizontalAlign.Center
        td2.HorizontalAlign = HorizontalAlign.Center
        td1.VerticalAlign = VerticalAlign.Middle
        td1.BorderColor = Color.Black
        td2.BorderColor = Color.Black



        td1.BorderWidth = Unit.Pixel(1)
        td2.BorderWidth = Unit.Pixel(1)

        Dim txtXx As New TextBox()
        txtXx.Width = Unit.Pixel(50)
        txtXx.ID = "xx" + i.ToString()


        td1.Text = "option" + i.ToString()
        td2.Controls.Add(txtXx)

        tr1.Cells.Add(td1)
        tr1.Cells.Add(td2)

        Table2.Rows.Add(tr1)

    End Function
    Function addrow2(ByVal i)
        Dim txtXx As New TextBox()
        txtXx.Width = Unit.Pixel(10)
        txtXx.ID = "xx" + i.ToString()
        Page.Controls.Add(txtXx)
    End Function
    Function add3(ByVal tr As TableRow)
        Dim txtXx As New TextBox()
        txtXx.Width = Unit.Pixel(100)
        txtXx.ID = "xx" + i.ToString()
        txtXx.Text = "option" + i.ToString()

        Dim td As New TableCell()
        td.Controls.Add(txtXx)
        tr.Cells.Add(td)
        Table2.Rows.Add(tr)
    End Function
给你个例子看有用吗

#2


你这个例子是在后台代码里动态生成表格吧?

#3


当然应该这样,客户端有几人有脾气来输入</table>...

#4


是啊 不知有帮助吗

#5


我的这个程序的作用是为了从一个网站去取某个网页的一个表格数值,我把这个网页的html代码里的某个〈table>到〈/table>之间的代码在客户端转换为普通html控件如果能直接转换服务器端就方便多了

#6


你应该在后台直接生成HtmlTable控件再加入到Page上呀

#7


能给代码吗?最好是c#

#8


好几天都没有答,看来是没办法了????

#9


gz

#10


这应该不可以,不过你可以这样处理:
    把动态生成的table 赋一个名称后,你用javascript客户端代码把这个table里的所有数据存放到一个服务器端的textbox.text里,再通过客户端调用服务器事件(比如一个按钮的事件据)去取这个textbox.text就可以实现了!!!

#11


to:ningqiang 多谢了,我要的就是这种效果!