想在datagrid中使用代码添加FooterTemplate,无异常,但看不到效果.
Private Sub grdEntries_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles grdEntries.ItemCreatedIf (e.Item.ItemType = ListItemType.Footer) ThenDim FrameText As New StringBuilder
FrameText.Append("<a href=""")
FrameText.Append("http://www.baidu.com")
FrameText.Append(""" target=new>")
FrameText.Append("<IMG alt=")
FrameText.Append(""" mysite.com""")
FrameText.Append(" src=")
FrameText.Append("""test.gif""")
FrameText.Append(" border=0> </A>")Dim lblIFrame As Label = New Label()
lblIFrame.Text = FrameText.ToString
e.Item.Cells(0).Controls.Add(lblIFrame)
End If
End Sub

解决方案 »

  1.   

    强烈建议用先设计好后,再操做Visible就行
      

  2.   

    FrameText.Append("<a href=""")
    FrameText.Append("http://www.baidu.com")
    FrameText.Append(""" target=new>")
    FrameText.Append("<IMG alt=")
    FrameText.Append(""" mysite.com""")
    FrameText.Append(" src=")
    FrameText.Append("""test.gif""")
    FrameText.Append(" border=0> </A>")-------------
    错误如下:
    1."不能包含",把"里的"换成'
    2. /会转义,改成 @"字符串"
      

  3.   

    谢谢,不过不明白你的意思,
    这里的代码如果把这个生成的控件不放到datagrid,而放到普通的页面控件中,没有问题
    如下,这样可以
    Dim PlaceHolder1 As PlaceHolder = New PlaceHolder ()
    PlaceHolder1.Controls.Add(lblIFrame )因为需要,所以不能先设计好,而是要求用代码生成