2010-07-07 77 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