2010-07-07 2 views
1

Я пытаюсь сделать гиперссылку на html. (и т. д.)Render Control to 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 

с является гиперссылка, которая имеет 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>} 

И не может работать, где ../ приходит из за жизнь мне ! HELP :)

+1

Проведите некоторое время, изучая это самостоятельно. Это сводится к следующему: когда * панель обновления * делает свой запрос, запрос выглядит как 'whatever/page.aspx/methodname', поэтому другие части механизма ASP.NET считают, что вы на один уровень глубже, чем вы на самом деле , Это, вероятно, до тех пор, пока методы страницы не будут «заперты» позже. Выложите ответ, если я придумаю решение. – AakashM

+0

Действительно ли вы используете «UpdatePanel» или явные запросы AJAX? В последнем случае у меня есть обходной путь, но я не могу воспроизвести его с помощью простого 'UpdatePanel'. – AakashM

ответ

1

Попробуйте использовать ~/Folder/mypage.aspx? XYZ как ваш NavigateURL.

Когда вы говорите «на панели обновления», вы имеете в виду пользовательский элемент управления, который находится внутри панели обновления?

+1

Yeh в UpdatePanel У меня есть таблица, в которой Im добавление строки в например TableId.Rows.Add (тр) Я попытался с помощью ~ но он производит те же результаты, когда c.RenderControl (htmlw) наносится на загрузка страницы. ~ Удаляется и заменяется на ../, а на панели обновлений он имеет ../../ снова! – Steve