En iyi yanıtlayıcılar
Asp.net içinde WebUserControl nasıl tekrarlatılır?

Soru
-
Yanıtlar
-
Oldukça hatalı.
uc = (UserControl)Page.LoadControl("~/KullaniciLoad/GonderiYollari/Gscroll_unit.ascx");
bu satırdan sonra, bunun üstündeki iki satırda yaptıkların boşa gitmiş oluyor. Şöyle yapsan daha rahat olur;
repeater1.DataSource = Enumerable.Range(0, Convert.ToInt32(Session["gönderi_indexEkle"])).Select(p => new { Index = Random.Next(listBoxGönderi.Items.Count - 1) }).ToList(); repeater1.DataBind();
user controlüne Bindable bir property ekle;
[Bindable] public int Index { get; set; }
daha sonra aspx tarafında;
<asp:Repeater ID="repeater1" runat="server"> <uc1:UserControlAdı Index='<%#Eval("Index") %>' runat="server"></uc1:UserControlAdı> </asp:Repeater>
Ya da bu 20 senelik köhne tekolojiyi bir kenara bırakıp MVC falan dene bence rahat edersin.
Not: WebForms'ta unuttuğum yerler olabilir.
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Düzenleyen Önay YALÇINERModerator 23 Haziran 2020 Salı 14:01
- Yanıt Olarak İşaretleyen f-yazılım (enes özmert) 23 Haziran 2020 Salı 14:26
Tüm Yanıtlar
-
Projeniz hakkında daha fazla bilgi, örnek ve kod paylaşırsanız belki yardımcı olabiliriz.
Birinin cevabı size yardımcı oldu ise, lütfen "Yanıt Olarak Öner" veya "Yanıt Olarak İşaretle" olarak işaretlemeyi ve "Oy" vermeyi unutmayınız. Burada sağlanan tüm görüşler, kişiseldir ve Microsoft'un konumunu temsil etmemektedir. Tüm bilgiler hazır olarak temin edilmektedir ve herhangi bir garanti vermemektedir.
-
-
ne yapmak istediğin gayet açık ve net, anlamakta güçlük çekmiyoruz.
Sorunun cevabı; Repeater ile tekrarlatılır.
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Düzenleyen Önay YALÇINERModerator 23 Haziran 2020 Salı 07:57
-
For indexx As Integer = 0 To Convert.ToInt32(Session("gonderi_indexekle"))
OlusturulanSayi = RastgeleSayi.Next(0, Convert.ToInt32(listbox_gonderi.Count - 1))
Dim uc As UserControl = New UserControl()
uc.ID = "Pnl" & indexx & OlusturulanSayi
uc.ClientIDMode = ClientIDMode.AutoID
uc = CType(Page.LoadControl("~/KullaniciLoad/GonderiYollari/Gscroll_unit.ascx"), UserControl)
uc.Attributes.Add("style", ";left:0px;height:auto;width:100%;display:block;")
pencere.Controls.Add(uc)
Session.Add("gonderi_indexekle", gonderi_indexekle)
Next{ for (int indexx = 0; indexx <= Convert.ToInt32(Session("gonderi_indexekle")); indexx++) { OlusturulanSayi = RastgeleSayi.Next(0, Convert.ToInt32(listbox_gonderi.Count - 1)); UserControl uc = new UserControl(); uc.ID = "Pnl" + indexx + OlusturulanSayi; uc.ClientIDMode = ClientIDMode.AutoID; uc = (UserControl)Page.LoadControl("~/KullaniciLoad/GonderiYollari/Gscroll_unit.ascx"); uc.Attributes.Add("style", ";left:0px;height:auto;width:100%;display:block;"); pencere.Controls.Add(uc); Session.Add("gonderi_indexekle", gonderi_indexekle); } }
Bu kodlar hatalı gibi geliyor webusercontrolün içinde veritabanından bir mantık üzerinden verileri çekebiliyorum objeyi döndürmek istiyorum .enes özmert f-yazılım
-
Oldukça hatalı.
uc = (UserControl)Page.LoadControl("~/KullaniciLoad/GonderiYollari/Gscroll_unit.ascx");
bu satırdan sonra, bunun üstündeki iki satırda yaptıkların boşa gitmiş oluyor. Şöyle yapsan daha rahat olur;
repeater1.DataSource = Enumerable.Range(0, Convert.ToInt32(Session["gönderi_indexEkle"])).Select(p => new { Index = Random.Next(listBoxGönderi.Items.Count - 1) }).ToList(); repeater1.DataBind();
user controlüne Bindable bir property ekle;
[Bindable] public int Index { get; set; }
daha sonra aspx tarafında;
<asp:Repeater ID="repeater1" runat="server"> <uc1:UserControlAdı Index='<%#Eval("Index") %>' runat="server"></uc1:UserControlAdı> </asp:Repeater>
Ya da bu 20 senelik köhne tekolojiyi bir kenara bırakıp MVC falan dene bence rahat edersin.
Not: WebForms'ta unuttuğum yerler olabilir.
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Düzenleyen Önay YALÇINERModerator 23 Haziran 2020 Salı 14:01
- Yanıt Olarak İşaretleyen f-yazılım (enes özmert) 23 Haziran 2020 Salı 14:26