UpdatePanel ile Bir Açılan Denetimden Gelen Geri Göndermeleri İşleme (C#)
Christian Wenz tarafından
AJAX Denetim Araç Seti'ndeki PopupControl genişleticisi, başka bir denetim etkinleştirildiğinde açılır pencere tetiklemenin kolay bir yolunu sunar. Böyle bir açılır pencere içinde geri gönderme gerçekleştiğinde özel özen gösterilmelidir.
Genel Bakış
AJAX Denetim Araç Seti'ndeki PopupControl genişleticisi, başka bir denetim etkinleştirildiğinde açılır pencere tetiklemenin kolay bir yolunu sunar. Böyle bir açılır pencere içinde geri gönderme gerçekleştiğinde özel özen gösterilmelidir.
Adımlar
geri gönderme ile kullanırken PopupControl
, geri UpdatePanel
göndermenin neden olduğu sayfa yenilemesini engelleyebilir. Aşağıdaki işaretleme birkaç önemli öğeyi tanımlar:
ScriptManager
ASP.NET AJAX Denetim Araç Seti'nin çalışmasını sağlayan denetim- Her ikisi de açılır pencere tetikleyecek iki
TextBox
denetim Panel
Açılan pencere olarak görev yapacak bir denetim- Panel içinde bir denetim, bir
Calendar
UpdatePanel
denetimin içine eklenir - Paneli metin kutularına atayan iki
PopupControlExtender
denetim
<form id="form1" runat="server">
<asp:ScriptManager ID="asm" runat="server" />
<div>
Departure date: <asp:TextBox ID="tbDeparture" runat="server" />
Return date: <asp:TextBox ID="tbReturn" runat="server" />
</div>
<asp:Panel ID="pnlCalendar" runat="server">
<asp:UpdatePanel ID="up1" runat="server">
<ContentTemplate>
<asp:Calendar ID="c1" runat="server"
OnSelectionChanged="c1_SelectionChanged" />
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
<ajaxToolkit:PopupControlExtender ID="pce1" runat="server"
TargetControlID="tbDeparture" PopupControlID="pnlCalendar" Position="Bottom" />
<ajaxToolkit:PopupControlExtender ID="pce2" runat="server"
TargetControlID="tbReturn" PopupControlID="pnlCalendar" Position="Bottom" />
</form>
Denetimin OnSelectionChanged
özniteliğinin Calendar
ayarlandığını unutmayın. Bu nedenle kullanıcı takvim içinde bir tarih seçtiğinde bir geri gönderme gerçekleşir ve sunucu tarafı yöntemi c1_SelectionChanged()
yürütülür. Bu yöntemde geçerli tarih alınmalı ve metin kutusuna geri yazılmalıdır.
Bunun söz dizimi aşağıdaki gibidir: Her şeyden önce, sayfadaki için PopupControlExtender
bir proxy nesnesi oluşturulmalıdır. ASP.NET AJAX Denetim Araç Seti yöntemini sunar GetProxyForCurrentPopup()
. Bu yöntemin döndürdüğü nesne, açılan öğeyi Commit()
tetikleyen denetime (yöntem çağrısını tetikleyen denetim değil!) bir değer gönderen yöntemi destekler. Aşağıdaki kod, yöntemin Commit()
bağımsız değişkeni olarak seçili tarihi sağlar ve bu da kodun seçili tarihi metin kutusuna geri yazmasına neden olur:
<script runat="server">
protected void c1_SelectionChanged(object sender, EventArgs e)
{
PopupControlExtender pce = AjaxControlToolkit.PopupControlExtender.GetProxyForCurrentPopup(Page);
pce.Commit((sender as Calendar).SelectedDate.ToShortDateString());
}
</script>
Artık bir takvim tarihine her tıkladığınızda, seçili tarih ilişkili metin kutusunda görünür ve şu anda birçok web sitesinde bulunabilen bir tarih seçici denetimi oluşturur.
Kullanıcı metin kutusuna tıkladığında Takvim görüntülenir (Tam boyutlu görüntüyü görüntülemek için tıklayın)
Bir tarihe tıklanması metin kutusuna yerleştirir (Tam boyutlu resmi görüntülemek için tıklayın)
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin