Як я магу зрабіць Postback з дапамогай Javascript

Possible Duplicate:
ASP.NET postback with JavaScript

У мяне ёсць старонка без формы. Але мне трэба, што кожны раз, што гэтая старонка запытваецца, то постбэк робіцца з дапамогай JavaScript.

Як я магу зрабіць PostBack з дапамогай JavaScript?

1
На гэтай старонцы, я проста паказаць некаторую інфармацыю, якія прыходзяць з маёй базы дадзеных. Але гэта, калі пстрычка ў гіперспасылцы, мне трэба постбэк.
дададзена аўтар Lucas_Santos, крыніца
Што дрэннага ў выкарыстанні формы? Выкарыстанне AJAX UpdatePanel так, што ваша старонка не асвяжыцца.
дададзена аўтар Moon, крыніца
«Everytime старонка запытваецца, то постбэк робіцца Javascript» Я не ўпэўнены, што пад гэтым маецца на ўвазе. Everytime хтосьці націскае на спасылку або тып у URL старонкі, вы хочаце Javascript для апрацоўкі загрузкі старонкі? Калі няма формы на старонцы, то чаму б на старонцы «зваротнай перадачы» да чаго-небудзь? На жаль, проста крыху заблытаўся.
дададзена аўтар Robert Iver, крыніца

2 адказы

Вы можаце выкарыстоўваць jQuery.post() метад.

http://api.jquery.com/jQuery.post/

<Моцны> Прыклад:

$.post("test.aspx", { name: "John", time: "2pm" } );
3
дададзена
Выдатна! Цяпер Page_Load называецца кожны раз, што я раблю запыт! Дзякуй!
дададзена аўтар Lucas_Santos, крыніца
Я разумею, выпрабаванне і я атрымаў IsPostBack ўласцівасць вяртаць хлусня таксама.
дададзена аўтар Lucas_Santos, крыніца
@mikemanne: Так, гэта будзе рабіць POST HTTP.
дададзена аўтар RedFilter, крыніца
На якой старонцы вы кажаце, пачатковай загрузкі старонкі, або AJAXed старонцы?
дададзена аўтар RedFilter, крыніца
Я думаў, што пытанне ў дачыненні да пратаколу HTTP, а не падзеі .NET старонкі. Маё раней заява павінна быць няправільным, на адлюстраванне, я не здзіўлюся, калі падзея PostBack не спрацоўвае ...
дададзена аўтар RedFilter, крыніца
Цікава. Ці будзе гэта разглядацца як фактычны постбэк? Іншымі словамі, калі гэта .post() аперацыя выконваецца, калі ў мяне ёсць кропкі супыну ў маім кодзе-ззаду, будзе IsPostBack == дакладна?
дададзена аўтар mikemanne, крыніца
@RedFilter: проста зрабіў хуткі тэст. Нягледзячы на ​​тое, што сапраўды адправіць HTTPRequest ў рэжыме POST, asp.net, здаецца, не прызнаюць яго як постбэка: старонкі, у IsPostBack ўласцівасць вяртае хлусня. Ці ёсць што-то я не хапае?
дададзена аўтар mikemanne, крыніца
@RedFilter: як пачатковая старонка загрузкі, і вынік запыту AJAXed старонкі ў IsPostBack ілжывыя. Я разумею, што IsPostBack больш, чым проста ярлык для «Request.Method ==" POST "»; у ім канкрэтна ставіцца да формы быць вывешаным-назад. Вось чаму я быў здзіўлены, што пасля аперацыі Ajax будзе лічыцца «зваротнай перадачай».
дададзена аўтар mikemanne, крыніца

Наколькі я разумею, вы не можаце зрабіць постбэк без тэга формы - перыяд. Форма з'яўляецца неад'емнай часткай таго, як працуе ViewState.

Вы можаце выкарыстоўваць JavaScript, каб кіраваць браўзэра на іншы URL, або перазагрузіць бягучы URL, калі гэта тое, што вы шукаеце. Тым не менш, гэта не постбэк ASP.NET.

0
дададзена
Мне гэта трэба таму, што мая старонка проста ўвядзіце ў маім метадзе Page_Load ў першым запыце. Калі я прашу яшчэ раз, старонка не ўваходзіць у маім Page_Load, а потым я пакажу мае карыстацкія старыя каштоўнасці. Такім чынам, мне трэба зрабіць постбэк
дададзена аўтар Lucas_Santos, крыніца
Якія прычыны, па якіх мой Page_Load называецца толькі ў першым запыце на маёй старонцы?
дададзена аўтар Lucas_Santos, крыніца
Калі ласка, не downvote мяне, таму што ASP.NET Зваротная перадача патрабуе тэг формы. Гэта не мая віна. Калі маё разуменне гэтага патрабаванні не так, калі ласка, растлумачце, - я рады даведацца.
дададзена аўтар mikemanne, крыніца
Page_Load будзе называцца на кожным запыце старонкі, ці з'яўляецца гэта «арыгінальны» запыт або постбэк.
дададзена аўтар mikemanne, крыніца
Page_Load выклікаецца пры кожным запыце на гэтай старонцы. Калі ў вас ёсць, калі (IsPostBack) блок ў вашым Page_Load, код у гэтым блоку ТОЛЬКІ будзе выклікацца ў выпадку зваротнай перадачы. Але калі няма HttpModule замінаючы, ці ваша старонка згенеруе выключэнне раней у жыццёвым цыкле ( msdn.microsoft.com/en-us/library/ms178472.aspx ), Page_Load будзе называцца.
дададзена аўтар mikemanne, крыніца