Geri gönderme nedir?


142

Ben web geliştirme yolumu yapıyorum ve geri postback atılmış gördüm . Web tabanlı olmayan bir arka plandan geliyor, sahip olarak, yeni bir web geliştiricisinin geri gönderimler hakkında ne bilmesi gerekir? (yani ne ve ne zaman ortaya çıkıyorlar?)

Web dünyasındaki bir aceminin geri göndermelerin farkında olmasına yardımcı olmak için paylaşmak istediğiniz daha fazla bilgi çok takdir edilecektir.

Yanıtlar:


178

Aşağıdaki ASP.Net yeni başlayanlara yöneliktir ...

Ne zaman oldu?

Bir geri gönderme istemci tarayıcıdan kaynaklanır. Genellikle sayfadaki denetimlerden biri kullanıcı tarafından değiştirilir (tıklanan veya açılan bir düğme vb.) Ve bu denetim bir geri gönderme işlemi başlatır. Bu denetimin durumu ve sayfadaki diğer tüm denetimler (Görünüm Durumu olarak bilinir) Web sunucusuna geri gönderilir.

Ne oluyor?

Çoğu zaman geri gönderme, web sunucusunun geri gönderme işlemini başlatan sayfanın sınıfının arkasındaki kodun bir örneğini oluşturmasına neden olur. Bu sayfa nesnesi daha sonra küçük bir farkla normal sayfa yaşam döngüsü içinde yürütülür (aşağıya bakın). Kullanıcıyı, sayfa yaşam döngüsü sırasında özel olarak başka bir sayfaya yönlendirmezseniz, geri gönderme işleminin nihai sonucu tekrar kullanıcıya görüntülenen sayfayla aynı olur ve daha sonra başka bir geri bildirim gerçekleşebilir.

Neden oluyor?

Web uygulaması web sunucusunda çalışıyor. Kullanıcının yanıtını işlemek, uygulama durumunun değişmesine veya farklı bir sayfaya geçmesine neden olmak için, web sunucusunda yürütülecek bazı kodlar almanız gerekir. Bunu başarmanın tek yolu, kullanıcının üzerinde çalışmakta olduğu tüm bilgileri toplamak ve hepsini sunucuya geri göndermektir.

Yeni başlayanların not alması gereken bazı şeyler ...

  • Kayıt arka sayfasındaki kontrollerin durumu bağlam içinde kullanılabilir. Bu, sayfa denetimlerini değiştirmenize veya oradaki bilgilere dayanarak başka bir sayfaya yönlendirmenize olanak tanır.
  • Web formundaki denetimler, diğer denetimler gibi olaylara ve dolayısıyla olay işleyicilere sahiptir. Sayfa yaşam döngüsünün başlatma kısmı, mesaja geri neden olan kontrolün olay işleyicisinden önce yürütülür. Bu nedenle, sayfanın Init and Load olay işleyicisindeki kod, kullanıcının tıklattığı düğmenin olay işleyicisindeki koddan önce yürütülür.
  • Sayfa geri gönderildikten sonra yürütüldüğünde “Page.IsPostBack” özelliğinin değeri “true”, aksi takdirde “false” olarak ayarlanır.
  • Ajax ve MVC gibi teknolojiler geri dönüşlerin çalışma şeklini değiştirdi.

2
Küçük düzeltme - "Bu denetimin durumu ve sayfadaki diğer tüm denetimler (Görünüm Durumu olarak bilinir) Geri Gönderildi." Bu veriler aslında Geri Gönderme verileridir. Görüntüleme durumu verileri de geri gönderilir, ancak bu sunucuda en son ne zaman denetimlerin durumudur.
Simon

Not geri gönderme yalnızca ASP.NET'te değil, tüm .NET platformlarında kullanılır
JNF

1
"Kullanıcının yanıtını işlemek, uygulama durumunun değişmesine veya farklı bir sayfaya geçmesine neden olmak için web sunucusunda yürütülecek bazı kodlar almanız gerekir." Bu biraz yanıltıcı. Her zaman değil ihtiyaç bunları yapmak için web sunucu üzerinde çalıştırılacak kod '. Mümkün olduğunda, istemcideki kullanıcı girişini işlemek daha iyi olabilir. Post backs hakkında bilinmesi gereken en önemli şeylerden biri, onları nasıl / ne zaman yapmamalarıdır ; yani, ne zaman müşteri tarafı veya Ajax, vb. ile ilgilenmek
Hawkeye Parker

1
@HawkeyeParker. Bunu tüm bildiğim Web Formları mimarisi olduğunda yazdım. O zamandan beri işler kesinlikle çok yol kat etti! Bütün açıklamam kesinlikle Ajax'ı dikkate almıyor ve hiç dikkate almıyor.
Andy McCluggage

27

Gönderen wikipedia :

Geri Gönderme, tüm sayfa ve içeriği bazı bilgileri işlemek için sunucuya gönderildiğinde ve ardından aynı sayfayı tarayıcıya geri gönderirken etkileşimli bir web sayfası tarafından gerçekleştirilen bir eylemdir.


@Galwegian: Sizce sadece sonuçla aynı sayfayı sunmak için bazı doğrulama hataları meydana geldiğinde gerçekleşmez.
Shirgill Farhan

21

Geri gönderme, bir web sayfası verilerini ilk başta aynı komut dosyasına / dll / her ne oluşturuyorsa gönderir.

C # Örneği (asp.net)

...

if (!IsPostback)
   // generate form
else
   process submitted data;

20

Verilen tanımlara genişleyerek, bir web geliştiricisi olarak bilmeniz gereken en önemli şey, postback'ler arasında HİÇBİR DURUM KAYDEDİLMEMEKTEDİR. ASP.NET'te Oturum veya Viewstate koleksiyonları gibi durumu korumanın yolları vardır, ancak genel bir kural olarak durumunuzu her postback'te yeniden oluşturabileceğiniz programlarınızı yazın.

Bu muhtemelen masaüstü ve web tabanlı uygulama programlama arasındaki en büyük fark ve içgüdüsel olarak bu şekilde yazdığım noktaya kadar öğrenmem ayları aldı.


2
iyi koymak. oturum ve görüntüleme durumu dışında hiçbir şey kaydedilmez
Miles

1
Harika bir nokta! Evet, bu kesinlikle istemci programlama alanından geldiğinde birinin beynini sarmak için biraz zaman alan bir şey gibi görünüyor.
Scott Saad

10

Web geliştirme genellikle formları ( <form>etiketler) içeren html sayfalarını içerir . URL'lerde yayınlanan formlar. İstediğiniz herhangi bir URL'ye yayın göndermek için belirli bir form ayarlayabilirsiniz. Bir geri gönderme , formun kendi sayfasına / url'sine geri gönderilmesidir.

Terim ASP.Net geliştiricileri için özel bir öneme sahiptir , çünkü bir sayfa için - özellikle 'olay işleme' için birçok davranışı yönlendiren birincil mekanizmadır. ASP.Net sayfaları neredeyse her zaman kendisine geri gönderen tam olarak bir sunucu formuna sahiptir ve bu geri gönderimler Sayfa Yaşam Döngüsü adı verilen bir şeyin sunucusunda yürütülmesini tetikler.


6

Bu terim, 3. taraf web hizmeti API'leriyle etkileşimde bulunurken web uygulaması geliştirmede de kullanılır

Birçok API, hem etkileşimli hem de etkileşimli olmayan bir entegrasyon gerektirir. Genellikle etkileşimli bölüm yönlendirmeler kullanılarak yapılır (site 1, bir kullanıcıyı oturum açtığı ve yeniden yönlendirildiği site 2'ye yönlendirir). Etkileşimli olmayan bölüm bir 'geri gönderme' veya site 2'nin sunucularından site 1'in sunucularına bir HTTP POST kullanılarak yapılır.


5

Bir komut dosyası bir html formu oluşturduğunda ve bu formun eylemi http POST'larını aynı forma geri döndürür.


4

Geri gönderme, esas olarak, sizi yeni bir sayfaya göndermek yerine verileri işlemek için şu anda bulunduğunuz sayfanın veya komut dosyasının (.php .asp vb.) Gönderildiği formdur.

Bir örnek, bir yorum gönderdiğiniz ve aynı sayfaya (viewpage.php) gönderildiği bir forumdaki (viewpage.php) bir sayfa olabilir ve bunu yeni içerik eklenmiş olarak görürsünüz.

Bkz. Http://en.wikipedia.org/wiki/Postback


3

Geri gönderme, istemcinin web tarayıcısındaki sayfanın sunucuya geri gönderilmesine neden olan herhangi bir şeydir.

Orada bir sürü bilgi var, geri dönüşler için google'da arama yapın.

Çoğu zaman, herhangi bir ASP denetimi bir gönderiye neden olur (düğme / bağlantı tıklaması), ancak bazıları (onay kutusu / combobox)


3

Geri gönderme HTML formlarını ifade eder. Bir HTML formunun 2 yöntemi vardır: GET ve POST. Bu yöntemler, verilerin istemciden form aracılığıyla sunucuya nasıl gönderileceğini belirler. Bir Geri Gönderme, gönderen sayfaya POST gönderme işlemidir. Özünde, istemciden sunucuya ve tekrar geri tam bir devre oluşturur.


2

Yine de soru yukarıda doğru bir şekilde cevaplandı, ancak sadece bilgimi paylaşmak istiyorum. Postback temel olarak sayfanın durumunu yönetmemizi gerektiren bazı görevler yaparken kullanabileceğimiz bir özelliktir, yani ya bir düğme tıklaması için bir olay başlattık ya da sayfamızı yenilediğimizde. Sayfanız ilk kez yüklendiğinde, yani sayfamızı yenilediysek, o zaman postback-özelliği false olur ve bundan sonra doğru olur.

if(!ispostback)
{
 // do some task here
}
else
{
 //do another task here
}

http://happycodng.blogspot.in/2013/09/concept-of-postback-in.html

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.