2010-07-07 5 views
1

J'essaie de rendre un lien hypertexte vers html. (etc)Rendre le contrôle au format Html Produit une chaîne différente

Lorsque la page se charge, elle fonctionne correctement. (et beaucoup 10 liens) sur le panneau de mise à jour, il frappe la même fonction et essaie d'obtenir 10 autres liens. Je mis la navigationURL à quelque chose comme

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

Il est réglée de façon identique les deux fois (charge et UpdatePanel postback) mais lorsque je tente de le rendre html la deuxième fois (sur le panneau de mise à jour), il ajoute » ../» à l'avant donc je finis avec

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

la fonction où il change ici

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 est le lien qui a le navigationurl de propertry (ce qui ne fait jamais changé) mais le sw qui finit par ressembler à cette charge sur

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

et ceci sur la mise à jour du panneau

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

et ne peut pas travailler où l'../ vient de la vie de moi! AIDE :)

+1

Je viens juste de passer un peu de temps à regarder cela moi-même. Cela se résume à ceci: quand le * panneau de mise à jour * fait sa demande, la requête ressemble à 'what/page.aspx/methodname', donc d'autres parties du moteur ASP.NET pensent que vous êtes à un niveau plus profond que vous êtes réellement . C'est probablement à la page que les méthodes seront «boulonnées» plus tard. Publiera une réponse si je trouve une solution. – AakashM

+0

Utilisez-vous réellement 'UpdatePanel' ou des requêtes AJAX explicites? J'ai une solution de contournement dans le dernier cas, mais je ne peux pas repro avec 'UpdatePanel's. – AakashM

Répondre

1

Essayez d'utiliser ~/Folder/mypage.aspx? XYZ comme NavigateURL.

Lorsque vous dites "sur le panneau de mise à jour", voulez-vous dire sur un contrôle utilisateur qui se trouve dans un panneau de mise à jour?

+1

Yeh dans un UpdatePanel J'ai une table qui im ​​d'ajouter des lignes à par exemple TableId.Rows.Add (tr) J'ai essayé d'utiliser la ~, mais elle produit les mêmes résultats lors de l'application c.RenderControl (de htmlw) sur le chargement de la page. Le ~ est retiré et remplacé par ../ et sur le panneau de mise à jour il a ../../ à nouveau! – Steve

Questions connexes