2010-07-07 72 views
1

我想呈現超鏈接到HTML。 (等)渲染控制到Html產生不同的字符串

當頁面加載它工作正常。 (和很多10個鏈接)在更新面板上它擊中相同的功能,並試圖獲得另外10個鏈接。 我設置navigationURL喜歡的東西

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

它設置相同的兩個時間(負載的UpdatePanel回發),但是當我嘗試呈現爲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是它具有propertry 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

剛剛花了一些時間來看看這個我自己。它歸結爲:當* update面板*發出請求時,請求看起來像'whatever/page.aspx/methodname',所以ASP.NET引擎的其他部分認爲你比實際更深一層。這可能是由於頁面方法稍後被「狂奔」。如果我想出一個解決方案,會發佈一個答案。 – AakashM 2012-08-17 14:52:25

+0

你實際上是在使用'UpdatePanel'還是顯式的AJAX請求?在後一種情況下,我有一個解決方法,但我不能用簡單的'UpdatePanel'重新編寫代碼。 – AakashM 2012-08-17 15:21:02

回答

1

嘗試使用〜/ Folder/mypage.aspx?XYZ作爲您的NavigateURL。

當你說「在更新面板上」時,你的意思是更新面板中的用戶控件嗎?

+1

葉在的UpdatePanel我有即時添加行到表 例如TableId.Rows.Add(TR) 我使用〜但它產生了相同的結果 試圖 時c.RenderControl(htmlw)施加在頁面加載。 〜被刪除並替換爲../,並在updatepanel上再次顯示../../! – Steve 2010-07-08 08:16:01