ASP.NET рд╡реЗрдм рдлреЙрд░реНрдо рддрдХрдиреАрдХ рдзреАрд░реЗ-рдзреАрд░реЗ рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрддреАрдд рдХреА рдмрд╛рдд рд╣реИред рдпрд╣ рдПрдХ рд╡реЗрдм рдПрдкреАрдЖрдИ рджреНрд╡рд╛рд░рд╛ рдХреЛрдгреАрдп 6 рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдвреЗрд░ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдмрдбрд╝реА рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рд╛рде рд╡реЗрдм рдлреЙрд░реНрдо рдкрд░ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ред рдореЗрд░реЗ рдХреБрдЫ рджреЛрд╕реНрдд рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐ рд╣реИред рдкреБрд░рд╛рдиреА рддрдХрдиреАрдХ рдкрд░ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдФрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡реЗрдм рдлреЙрд░реНрдо рдореЗрдВ рдкреЛрд╕реНрдЯрдмреИрдХ рдХреЛ рдкреВрд░реЗ рдкреГрд╖реНрда рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред UpdatePanel рдореЗрдВ рдХреНрдпрд╛ рд▓рдкреЗрдЯрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдХрд╛рдлреА рдзреАрд░реЗ-рдзреАрд░реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд░реНрд╡рд░ рдкрд░ рд╣рд░ рдмрд╛рд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд░реЗрдбреА-рдореЗрдб рдорд╛рд░реНрдХрдЕрдк рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╡рд░реНрддрдорд╛рди рдбрд┐рд╡ рдХреЗ рдЕрдВрджрд░ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╡реИрд╕реЗ, UpdatePanel рд╕рд┐рд░реНрдл рдПрдХ div рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рддрдм рдорд╛рд░реНрдХрдЕрдк рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
- рдкреЗрдЬ рдкрд░ WebMethod рд▓рд┐рдЦреЗрдВ рдФрд░ AJAX рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ, рдЬрдм рдЖрдкрдХреЛ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓рддреА рд╣реИ, рддреЛ DOM рдХреЛ JS рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрджрд▓ рджреЗрдВред
рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк WebMethod рдХреЛ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдкреГрд╖реНрда рдкрд░ рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рд┐рдЦрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдкреГрд╖реНрдареЛрдВ рдкрд░ рдХрдИ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред - рдПрдХ asmx рд╕реЗрд╡рд╛ рд▓рд┐рдЦреЗрдВ, рдФрд░ рдЗрд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВред рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рд╕реЗрд╡рд╛ рдХреЗ рдмреАрдЪ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИред рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдмрдврд╝реЗрдЧреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, ViewState рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдо рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рд░реНрд╡рд░ рд╕рддреНрдпрд╛рдкрди рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╡рд╣ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИ рдЬреЛ рдЙрд╕рдиреЗ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдерд╛ред
- ICallbackEventHandler рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред
рдореИрдВ рдЗрд╕ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдзреНрдпрд╛рди рджреВрдВрдЧрд╛ред
рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдпреВрдЬрд░рдХрдВрдЯреНрд░реЛрд▓ рдХреЛ ICallbackEventHandler рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ рдФрд░ RaiseCallbackEvent рдФрд░ GetCallbackResult рд╡рд┐рдзрд┐рдпрд╛рдБ рд▓рд┐рдЦреА рд╣реИрдВред рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ 2 рд╣реИрдВред рдкрд╣рд▓рд╛ рдЧреНрд░рд╛рд╣рдХ рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рджреВрд╕рд░рд╛ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛
public partial class SomeControl : UserControl, ICallbackEventHandler { #region /// <summary> /// /// </summary> private Guid _someFileId; #endregion #region ICallbackEventHandler /// <inheritdoc /> public void RaiseCallbackEvent(string eventArgument) { // try { dynamic args = JsonConvert.DeserializeObject<dynamic>(eventArgument); _someFileId = (Guid) args.SomeFileId; string type = (string) args.Type; } catch (Exception exc) { // throw; } } /// <inheritdoc /> public string GetCallbackResult() { // try { // - return JsonConvert.SerializeObject(new { Action = actionName, FileId = _someFileId, }); } catch (Exception exc) { // throw; } } #endregion }
рдпрд╣ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдерд╛ред рдЕрдм рдЧреНрд░рд╛рд╣рдХ
var SomeControl = { _successCallbackHandler: function (responseData) { let data = JSON.parse(responseData); switch (data.Action) { case "continue":
рд╡рд╣ рд╕рдм рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдЕрднреА рднреА рдЕрдкрдиреЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрдПрд╕ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
protected override void OnLoad(EventArgs e) { base.OnLoad(e);
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдкреАрдЫреЗ рдХрд╛ рдХреЛрдб рд╣реИред
рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ GetCallbackEventReference рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЗрдПрд╕ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдкреАрдврд╝реА рд╣реИред
рд╣рдо рдЗрд╕рдореЗрдВ рдкрд╛рд╕ рд╣реЛ рдЧрдП
- рд╣рдорд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ
- JS рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдирд╛рдо рдЬрд┐рд╕рдХрд╛ рдорд╛рди рдЗрд╡реЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ RaiseCallbackEvent рд╡рд┐рдзрд┐ рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЗ рдкрд╛рд╕ рдЬрд╛рдПрдЧрд╛ (рддрд░реНрдХ рдХреЗ рдКрдкрд░ рдХреА рд▓рд╛рдЗрди рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдХреЗ рд▓рд┐рдП JSON рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ args рд╡реЗрд░рд┐рдПрдмрд▓ рдХрд╛ рдорд╛рди рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ)
- рд╕рдлрд▓рддрд╛ рдХреЗ рд▓рд┐рдП JS рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓рдмреИрдХ рдирд╛рдо
- рдирд┐рд╖реНрдкрд╛рджрди рд╕рдВрджрд░реНрдн (рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛)
- рдХреБрдЫ рдЧрд▓рдд рд╣реЛрдиреЗ рдкрд░ рдЬреЗрдПрд╕ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо
- рд╣рдо ASP.NET рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЖрдП рдЕрдиреБрд░реЛрдз рдХреЛ рдорд╛рдиреНрдп рдХрд░реЗрдВрдЧреЗ
рдпрд╣ рд╕рдм рдПрдХ рд╕рд╛рде рдХреИрд╕реЗ рдЪрд▓реЗрдЧрд╛?
JS рд╕реЗ рд╣рдо SomeControl.CallServer рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╕реНрдерд╛рдиреАрдп рд╡реИрд░рд┐рдПрдмрд▓ рдЖрд░реНрдЧреНрд╕ рдмрдирд╛рдПрдЧрд╛ рдФрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрдВрдЯреНрд░реЛрд▓ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░реЗрдЧрд╛ рдЬреЛ AJAX рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдЧрд╛ред
рдЕрдЧрд▓рд╛, рдирд┐рдпрдВрддреНрд░рдг RaiseCallbackEvent рд╕рд░реНрд╡рд░ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рднреА рдЬреЛ рдЖрд░реНрдЧреНрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рд╡реИрд░рд┐рдПрдмрд▓ рдореЗрдВ рдерд╛ рдЕрдм рд╕рд░реНрд╡рд░ рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдИрд╡реЗрдВрдЯ рдореЗрдВ рдЧрд┐рд░ рдЧрдпрд╛ред
RaiseCallbackEvent рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рдпрдВрддреНрд░рдг GetCallbackResult рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬреЛ рд╣рдо рд░рд┐рдЯрд░реНрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реМрдЯрд╛рдПрдВрдЧреЗ, рдЧреНрд░рд╛рд╣рдХ рдХреЛ рднреЗрдЬреА рдЬрд╛рдПрдЧреА рдФрд░ SomeControl._successCallbackHandler рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдорд┐рд▓ рдЬрд╛рдПрдЧреА, рдЕрд░реНрдерд╛рддреН responseData рдореЗрдВред
рдпрджрд┐ рдХрд┐рд╕реА рдЪрд░рдг рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЛрдб рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИ, рддреЛ рдирд┐рдпрдВрддреНрд░рдг рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ SomeControl._failCallbackHandler
рдЕрднреА рднреА ViewState рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред ViewState рдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд╕рд░реНрд╡рд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ ReadOnly рдореЛрдб рдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ ViewState рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рднреНрд░рд╛рдордХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдФрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдмрдЪрд╛ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рджреВрд╕рд░рд╛ рд╕рд╡рд╛рд▓ рдЬрд┐рд╕реЗ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡рд╣ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдбрд┐рд╡ рд╣реИ рдпрд╛ рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рд╕реЗ рдЕрдкрдбреЗрдЯрдкреИрдирд▓ рдЕрдкрдбреЗрдЯ рдХреЛ рдХреИрд╕реЗ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп divs рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдмрд╕ <asp: рдмрдЯрди> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдореБрдЭреЗ рдкрд╕рдВрдж рд╣реИ рдХрд┐ div рдХреЛ рдЬреИрд╕рд╛ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд╡реИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВ рдЗрдирдкреБрдЯ рдкреНрд░рдХрд╛рд░ = "рдмрдЯрди" рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реВрдВ "
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ IPostBackEventHandler рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ
рдЙрд╕рдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ 1 рд╡рд┐рдзрд┐ рд╣реИ
public void RaisePostBackEvent(string eventArgument)
рдЕрдм, рдкрд┐рдЫрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрдПрд╕ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ
Page.ClientScript.GetPostBackEventReference(this, callbackArgument)
callbackArgument рд╕рд░реНрд╡рд░ рдкрд░ рд╕реЗрдЯ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЖрдк рд╣рдореЗрд╢рд╛ рдХреБрдЫ рдЫрд┐рдкрд╛рдХрд░ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкреВрд░рд╛ рдкреЛрд╕реНрдЯрдмреИрдХ рд╣реИ
рдЕрдм GetPostBackEventReference рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХрд┐рд╕реА рднреА div рдпрд╛ рд╕реНрдкреИрди, рдпрд╛ рдЬреЛ рднреА рд╣реЛ, рдХреЗ onclick рдкрд░ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╛ рд╕рд┐рд░реНрдл рдЯрд╛рдЗрдорд░ рд╕реЗ рдЬреЗрдПрд╕ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВред
рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ (OnLoad рдкрд░ рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ
ScriptManager.GetCurrent(Page)?.RegisterAsyncPostBackControl(this);
), рдЕрдиреНрдпрдерд╛, UpdatePanel рдХреЗ рдЕрдВрджрд░ рд╣реЛрдиреЗ рдкрд░ рднреА, рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ PostBack рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдкреВрд░реЗ рдкреГрд╖реНрда рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдХреЗрд╡рд▓ UpdatePanel рдХреА рд╕рд╛рдордЧреНрд░реА рдирд╣реАрдВ
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд 2 рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рдкрд░рд┐рджреГрд╢реНрдпред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛, рдПрдХ рд▓рдВрдмреЗ рдСрдкрд░реЗрд╢рди (10-15 рд╕реЗрдХрдВрдб) рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЕрдиреБрд░реЛрдз рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдЫреЛрдЯреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓реА, рдЬрд┐рд╕рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рджреМрд░рд╛рди рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╣рддрд╛ рд╣реИред рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдореЗрдВ, рд╕рд░реНрд╡рд░ рдХреЛ рдХреЙрд▓рдмреИрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЧрдП рдСрдкрд░реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрджрд┐ рдкрд░рд┐рдгрд╛рдо рддреИрдпрд╛рд░ рд╣реИ, рддреЛ PostPack рдХреЛ UpdatePanel рдореЗрдВ рдХреЙрд▓ рдХрд░реЗрдВ - рдирд┐рд░реНрджрд┐рд╖реНрдЯ UpdatePanel рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдкрд░рд┐рдгрд╛рдо рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рдлрд┐рд░ рд╕реЗ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЙрд▓ рдХрд░реЗрдВред
рдЙрди рд╕рднреА рдХреЛ рд╢реБрднрдХрд╛рдордирд╛рдПрдВ рдЬреЛ рдЕрднреА рднреА рд╡реЗрдм рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд▓реЗрдЦ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рддреЗрдЬ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рдмрдирд╛ рджреЗрдЧрд╛, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж рджреЗрдВрдЧреЗред