2009-02-04 2 views
5

Я хочу использовать функцию doPostBack в моей ссылке. Когда пользователь нажимает на нее, она не будет перенаправляться на другую страницу, а страница будет postback.Я использую этот код, но он не работает. Где я Мисс?Использование doPostBack Функция в asp.net

< a id="Sample" href="javascript:__doPostBack('__PAGE','');"> 



function __doPostBack(eventTarget, eventArgument) 

    { 
      var theform = document.ctrl2 

      theform.__EVENTTARGET.value = eventTarget 

      theform.__EVENTARGUMENT.value = eventArgument 

      theform.submit() 
     } 

ответ

1

Попробуйте это:

System.Web.UI.HtmlControls.HtmlAnchor myAnchor = new System.Web.UI.HtmlControls.HtmlAnchor(); 
string postbackRef = Page.GetPostBackEventReference(myAnchor); 
myAnchor.HRef = postbackRef; 
+0

У меня есть несколько вопросов: 1) Использует ли 'System.Web.UI.HtmlControls.HtmlAnchor myAnchor'' 'в aspx? 2) Делает: 'Page.GetPostBackEventReference (myAnchor)' равно '' в браузере клиента? –

1

__doPostBack - это автоматически сгенерированная функция, которая гарантирует, что страница отправляется на сервер для поддержания состояния страницы. Он не предназначен для перенаправления ...

Вы можете использовать window.location.href="yourpage.aspx" на javascript или Response.Redirect ("yourpage.aspx") на стороне сервера на странице, которую вы делаете после обратной передачи.

0

Почему вы хотите, чтобы вызвать обратную передачу вручную? Если ваша информация устарела, вы можете рассмотреть таймер AJAX.

0

ОК, но я использую ссылку в своем datagrid, и когда пользователь нажимает на ссылку, я хочу отправить только содержимое datagrid (так что ссылка изменит содержимое datagrid, и это не column.it - ​​это простой текст, например, wikipedia. Ссылка создается во время выполнения этим кодом, я использую UpdatePanels).

ул = regex.Replace (ул "(смотри: < A HREF =" "JavaScript:" & Page.GetPostBackEventReference (Me) & "> < цвет шрифта =" "# cc0000" "> $ 1 </а >) ")

Если я использую window.location.href, он будет возвращать всю страницу. Моя цель заключается в том, чтобы возвращать только datagrid (Ofcourse, беря текст ссылки как вывод тоже). Я не использую Frames, а ссылка - не кнопка. Как я могу это сделать?

+0

Вы используете панель обновления или что-то в этом роде? Что вы имеете в виду, отправляя только datagrid? – Canavar

+0

На самом деле, я не мог делать то, что хотел. По вашему решению, я сделал страницу обратной передачи, и это был мой вопрос. Теперь второй вопрос: возможно ли вернуть почтой только управление вашей функцией? (Не все страницы)? Спасибо за помощь – 2009-02-04 14:08:48

+0

Вы можете сделать это двумя способами: в первую очередь, вы можете использовать Ajax UpdatePanel для публикации только тех элементов управления, которые он включает. Или вы можете использовать страницу iframe и post only referenced. – Canavar

Смежные вопросы