вызывать код за событием, если щелкнуть гиперссылку на несерверный элемент управления? - PullRequest
0 голосов
/ 12 июня 2011

Если у вас есть стандартная гиперссылка ...

<a href="somelink"> message </a>

... и эта ссылка не внутри тега runat = "server" формы, и вы не можете положить его в один, вы бы знали любой возможный способ привязать событие click для этого тега к метод выделенного кода?

1 Ответ

2 голосов
/ 12 июня 2011

Чтобы вызвать метод на стороне сервера для события на стороне клиента, вам нужно сделать следующее:

1- Создайте метод на стороне сервера:

void DoSomething(...) { ... }

2- Реализуйте System.Web.UI.IPostBackEventHandler.RaisePostBackEvent, который принимает один строковый аргумент (Вы можете присвоить имя значению этого аргумента) .:

public void RaisePostBackEvent(string eventArgument) 
{
        DoSomething(...);
}

3- Напишите скрипт для запуска поста назад:

function TriggerPostBack(control, arg){
    __doPostBack(control, arg);
}

4 - при необходимости вызывать функцию запуска PostBack:

<a .... onclick="TriggerPostBack('control', 'arg')" .. /> 
...