将控制渲染为Html生成不同的字符串

时间:2010-07-07 16:49:17

标签: .net asp.net vb.net rendercontrol

我正在尝试渲染到html的超链接。 (等)

页面加载时工作正常。 (更多10个链接)在更新面板上它命中相同的功能,并尝试获得另外10个链接。 我将navigationURL设置为类似

的东西
"../Folder/Mypage.aspx?498592ghjgfosdfgo"

两次都设置相同(加载和更新面板回发)但是当我第二次尝试将它渲染到html时(在更新面板上)它将“../”添加到前面,所以我最终得到了

"../../Folder/Mypage.aspx?498592ghjgfosdfgo"

此处更改的功能

Public Shared Function RenderControl(ByVal c As Control) As String
    Dim sw As New IO.StringWriter
    Dim htmlw As New HtmlTextWriter(sw)
    c.RenderControl(htmlw)
    Return sw.ToString
End Function

c是具有属性navigationurl的超链接(这永远不会改变)但是在加载时看起来像这样的sw

<a id="lnkView" href="../Folder/mypage.aspx?AnTfh0ZsFP9NCxiBpM+Zd11cI+AUOF93HZQtumPgzMKky0PejGrda9I6kCFn070dOsIfq0M2AgI=">View</a>}

和面板更新

    <a id="lnkView" href="../../Folder/mypage.aspx?AnTfh0ZsFP9NCxiBpM+Zd11cI+AUOF93HZQtumPgzMKky0PejGrda9I6kCFn070dOsIfq0M2AgI=">View</a>}

无法解决../来自我生活的地方!帮助:)

1 个答案:

答案 0 :(得分:1)

尝试使用〜/ Folder / mypage.aspx?XYZ作为您的NavigateURL。

当您说“在更新面板上”时,您是指更新面板内的用户控件吗?