none
ListBox çoklu seçim RRS feed

  • Soru

  • Merhaba, elimde bir listbox var ve içi veritabanından gelen verilerle doldurulmuş durumda.

    Listbox'ın çoklu seçim özelliği de açık. Seçimimi yapıyorum, breakpoint ile kodu takip ettiğimde GetSelectedİndices() metodunun 0 döndürdüğünü görüyorum. Başka bir yerde aynı metodu denediğimdeyse seçilenleri döndürüyor. Böyle bir şeyle karşılaşan veya çözümü hakkında fikri olan var mı?

    C# kodu

    if (Request["id"] == null)
            {
                if (resimFilm.FileName != "")
                {

                    try
                    {
                        urunkaydet();
                        db.AddToUrun(urunKaydet);
                        db.SaveChanges();

                        Film filmKaydet = new Film();
                        filmKaydet.FilmUrunID = urunKaydet.UrunID;
                        filmKaydet.FilmAd = txtUrunAd.Text.Trim();
                        filmKaydet.FilmFiyat = urunKaydet.UrunFiyat;
                        filmKaydet.FilmYapimYili = int.Parse(txtYapimYili.Text.Trim());
                        filmKaydet.FilmYonetmen = ddYonetmen.SelectedItem.Text.Trim();
                        filmKaydet.FilmOzet = txtFilmOzet.Text;
                        filmKaydet.FilmDakika = int.Parse(txtFilmSuresi.Text.Trim());
                        filmKaydet.FilmTur = ddFilmTur.SelectedItem.Text;

                        resim = resimFilm.FileName.Split('.');
                        filmKaydet.FilmResimAdres = "admin/Resimler/FilmPoster/" + txtUrunAd.Text + "_" + urunKaydet.UrunID + "." + resim[resim.Length - 1];
                        resimFilm.SaveAs(Server.MapPath("Resimler/FilmPoster/" + txtUrunAd.Text + "_" + urunKaydet.UrunID + "." + resim[resim.Length - 1]));


                        db.AddToFilm(filmKaydet);

                        int[] index = lbOyuncu.GetSelectedIndices();

                        foreach (int i in index)
                        {
                            FilmOyuncu filmOyuncuKaydet = new FilmOyuncu();
                            int oyuncuID = int.Parse(lbOyuncu.Items[i].Value);
                            filmOyuncuKaydet.FOOyuncuID = oyuncuID;
                            filmOyuncuKaydet.FOFilmID = filmKaydet.FilmID;
                            db.AddToFilmOyuncu(filmOyuncuKaydet);
                            db.SaveChanges();
                        }
                        db.SaveChanges();

                        FilmTurler filmTurKaydet = new FilmTurler();
                        filmTurKaydet.FilmID = filmKaydet.FilmID;
                        filmTurKaydet.FilmTurID = int.Parse(ddFilmTur.SelectedValue);
                        db.AddToFilmTurler(filmTurKaydet);
                        db.SaveChanges();

                        lblKayit.Text = "Kaydınız başarıyla gerçekleşmiştir.";
                        lblKayit.Visible = true;
                        urunPanel.Visible = true;
                        filmPanel.Visible = false;
                        sifirla();
                    }
                    catch (Exception)
                    {

                        throw;
                    }

                }
                else if (resimFilm.FileName == "")
                {
                    Response.Write("<script>alert('Resim yüklemelisiniz!');</script>");
                }
            }

    ASP Tarafı

    <asp:Panel ID="filmPanel" runat="server">
                <table>
                    <tr>
                        <td>
                            Yapım Yılı*
                        </td>
                        <td>
                            <asp:TextBox ID="txtYapimYili" runat="server" MaxLength="4" ></asp:TextBox>
                            <asp:RegularExpressionValidator ID="RegularExpressionValidator6" runat="server"
                            ControlToValidate="txtYapimYili"
                            ErrorMessage="Lütfen sadece sayı girin."
                            ValidationExpression="^\d+$"  ForeColor = "Red">
                            </asp:RegularExpressionValidator>
                            
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator10" runat="server"
                            ControlToValidate = "txtYapimYili"
                            ErrorMessage="Yapım yılı alanı boş geçilemez." ForeColor="Red" ></asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Yönetmen*
                        </td>
                        <td>
                            <asp:DropDownList ID="ddYonetmen" runat="server">
                            </asp:DropDownList>
                            <input id="btnYonetmenEkle" type="button" value="Yönetmen Ekle" onclick="openWindow('-1', 500, 300, 'YonetmenEkle.aspx', true, '&mode=New');"
                             />
                            
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>
                            <i>Yönetmen listede yoksa eklemek için butona tıklayın.</i>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Oyuncu(lar)*
                        </td>
                        <td>
                            <asp:ListBox ID="lbOyuncu" runat="server" Height="201px" Width="160px"
                                SelectionMode="Multiple"
                                ></asp:ListBox>
                            
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>
                            <input id="btnOyuncuEkle" type="button" value="Oyuncu Ekle" onclick="openWindow('-1', 500, 300, 'OyuncuEkle.aspx', true, '&mode=New');"
                             />
                            
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>
                            <i>Oyuncu listede yoksa eklemek için butona tıklayın.</i>
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>CTRL tuşuna basılı tutarak birden fazla oyuncu seçebilirsiniz.</td>
                    </tr>
                    <tr>
                        <td>
                            Film Türü*
                        </td>
                        <td>
                            <asp:DropDownList ID="ddFilmTur" runat="server">
                            </asp:DropDownList>
                            <input id="btnFilmTurEkle" type="button" value="Film Tür Ekle" onclick="openWindow('-1', 500, 300, 'FilmTurEkle.aspx', true, '&mode=New');"
                             />
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>
                            <i>Film türü listede yoksa eklemek için butona tıklayın.</i>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Film Posteri*
                        </td>
                        <td>
                            <asp:FileUpload ID="resimFilm" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Film Süresi*
                        </td>
                        <td>
                            <asp:TextBox ID="txtFilmSuresi" runat="server" MaxLength="3" ></asp:TextBox> Dakika
                            <asp:RegularExpressionValidator ID="RegularExpressionValidator7" runat="server"
                            ControlToValidate="txtFilmSuresi"
                            ErrorMessage="Lütfen sadece sayı girin."
                            ValidationExpression="^\d+$"  ForeColor = "Red">
                            </asp:RegularExpressionValidator>
                            
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator11" runat="server"
                            ControlToValidate = "txtFilmSuresi"
                            ErrorMessage="Film süresi alanı boş geçilemez." ForeColor="Red"
                            ></asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Film Özet
                        </td>
                        <td>
                            <asp:TextBox ID="txtFilmOzet" runat="server" TextMode="MultiLine"
                                Height="117px" Width="231px"></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>
                            <i>Yıldızlı alanlar mutlaka doldurulmalıdır.</i>
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>
                            <asp:Button ID="btnFilmKaydet" runat="server" Text="Kaydet"
                                style="margin-left: 147px" onclick="btnFilmKaydet_Click" />
                        </td>
                    </tr>
                </table>
            </asp:Panel>

    13 Ocak 2013 Pazar 17:13

Yanıtlar

  • listbox'a veriyi bağladığınız metodu da yazar mısınız?

    Listbox'a veriyi, sayfa her yüklendiğinde bağlıyorsanız, seçilen değerleri alamazsınız.


    13 Ocak 2013 Pazar 18:00

Tüm Yanıtlar