2009-04-15 2 views
3

Я хотел бы вызвать метод в моем коде позади от JavaScript, я вроде знаю, как это сделать .. я должен вызвать __DoPostBack проходящее имя управления и параметры ..__doPostback - вызов кода за событиями из JavaScript?

Но что, если событие не существует т.е. NO CONTROL. На самом деле то, что я пытаюсь сделать, это вызвать событие .. но событие не существует, как не существует никакого контроля, связанные с ним ..

я вроде мог бы сделать это:

If IsPostBack Then 
     If Request(”__EVENTTARGET”).Trim() = “CleanMe” Then 
      CleanMe() 
     End If 
..... 

Но это значит, я должен сделать это вручную. Могу ли я подключить событие ... иначе у меня будет множество разных IF (т. Е. Если это пройдет, тогда позвоните этому и т. Д.).

Любые идеи?

Благодаря

ответ

2

Вы можете быть в состоянии использовать PageMethod для вызова функции CodeBehind, вот ссылка на пример: http://blogs.microsoft.co.il/blogs/gilf/archive/2008/10/04/asp-net-ajax-pagemethods.aspx

+2

Еще одна ссылка на PageMethods ... Http: //encosia.com/2008/05/ 29/using-jquery-to-direct-call-aspnet-ajax-page-methods/ – AdamB

+0

Важно отметить, что PageMethods являются статическими, поэтому они сильно отличаются от обычных почтовых сообщений. – Alex

1

Если вы действительно хотите подключить к событию, тот вариант, который даст вам меньше хлопот, чтобы создать кнопку скрытый жерех и нажмите на нее с помощью Javascript

2

Если вы хотите использовать __doPostBack(), вы должны иметь элемент управления для получения команды. Однако вам не нужно явно подключать событие для его обработки. Если вы хотите __doPostBack(), чтобы вызвать, скажем, Foo(), сделайте следующее:

MyControl : IPostBackEventHandler 
{ 
    void RaisePostBackEvent(string eventArgument) 
    { 
     Foo(); 
    } 
} 

Вызов __doPostBack() вызывается метод RaisePostBackEvent на целевом управлении.