none
dinamik Kontrol selectbox RRS feed

  • Soru

  • Merhaba,direk konuya giriyorum.

    yapmak istediğim php de şu şekilde yapılmış

    function e_getKategori() {
    $SeciliDeger = $_GET["Sel"] ;
    $KategoriTip = $_GET["Tip"] ;

    echo "<select class=\"form-control\" name=\"SiteKategori\" id=\"SiteKategori\">" ; //Bunu değiştirmeyin
    echo "<option value=\"\">Lütfen Seçiniz</option>" ; //Bunu silmeyin

    if ( $KategoriTip =="" || $KategoriTip=="h" ) {
    echo '<optgroup label="Haber Kategorileri">' ;
    $sorgu = mysql_query("select id, name from category order by list"); 
    while($e_rsTemp=mysql_fetch_array($sorgu)){
    If ( $e_rsTemp[0] == $SeciliDeger )
                {  $optionSelected = " selected=\"selected\" " ; 
                } 
                else 
                { $optionSelected ="";
                 }
      echo "<option $optionSelected value=\"$e_rsTemp[0]\">$e_rsTemp[1]</option>"; 
    }
    echo '</optgroup>' ;
    }

    bende asp.net de şu şekilde yapıyorum

                                                                                 

      void  Kategori(string SeciliDeger)
        {
            string vstr = null;
            string secilen = "";

            string Kategoritip = Request.QueryString["Tip"];
            if (Kategoritip == "" || Kategoritip == "h")
            {
                SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.CommandText = "spKategorilerEditordeListele";
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            vstr = "<select class='form-control' name='SiteKategori' id='SiteKategori'>"+
                    "<option value=''> Lütfen Seçiniz </option>";
                int i = 0;
             while (i<dt.Rows.Count)
            {



                if(dt.Rows[i]["ID"].ToString() == SeciliDeger)
                {

                        secilen = "selected='selected'";
                    }

                    else
                    {
                        secilen = "";
                    }

                    vstr += "<option "+secilen+" value='" + dt.Rows[i]["ID"].ToString() + "'>" + dt.Rows[i]["AD"].ToString() + "</option>";

                    i++;




            }
            }
            Response.Write(vstr);
        }

    ancak sorun Requestten gelen SeciliDeger kategorilerdeki ID ile eşit ise onun o dinamik kontrolde seçili olarak gelmesini istiyorum ancak bir türlü olmadı,bir yerde hatamı yapıyorum acaba?

    14 Mart 2016 Pazartesi 12:50

Yanıtlar

  •  string vstr = null;
                string secilen = "";
    
                string Kategoritip = Request.QueryString["Tip"];
    Kategoritip==null?"":Kategoritip;
                if (Kategoritip == "" || Kategoritip == "h")
                {
                    dbDataContext db = new dbDataContext();
                    vstr = "<select class='form-control' name='SiteKategori' id='SiteKategori'>" +
                            "<option value=''> Lütfen Seçiniz </option>";
                    foreach (var t in db.Usr_Countries)
                    {
                        if (t.Id == SDeger)
                            secilen = "selected='selected'";
                        else
                            secilen = "";
                        vstr += "<option " + secilen + " value='" + t.Id + "'>" + t.ISO + "</option>";
    
                    }
                }
                Response.Write(vstr);
    Test etmek için bendeki db'lerden birindeki table için yazdım.
    Bu şekli ile bende çalışıyor. Türkiye seçili olarak geliyor.

    inspect ile ne yazıyor html kısmında ona bakın.
    14 Mart 2016 Pazartesi 13:40

Tüm Yanıtlar

  • Büyük ihtimal tipi göndermiyorsunuz.

      if (Kategoritip == "" || Kategoritip == "h")

    bu satırdan önce

    kategoritip==null?"":kategoritip

    Yazın düzelecektir.

    14 Mart 2016 Pazartesi 13:23
  • cevabınız için teşekkürler ancak ben tipi gönderiyorum orada sorunum yok dinamik selectbox oluşturuyorum ancak içerisindeki value değerini seçmiyor 
    14 Mart 2016 Pazartesi 13:26
  •  string vstr = null;
                string secilen = "";
    
                string Kategoritip = Request.QueryString["Tip"];
    Kategoritip==null?"":Kategoritip;
                if (Kategoritip == "" || Kategoritip == "h")
                {
                    dbDataContext db = new dbDataContext();
                    vstr = "<select class='form-control' name='SiteKategori' id='SiteKategori'>" +
                            "<option value=''> Lütfen Seçiniz </option>";
                    foreach (var t in db.Usr_Countries)
                    {
                        if (t.Id == SDeger)
                            secilen = "selected='selected'";
                        else
                            secilen = "";
                        vstr += "<option " + secilen + " value='" + t.Id + "'>" + t.ISO + "</option>";
    
                    }
                }
                Response.Write(vstr);
    Test etmek için bendeki db'lerden birindeki table için yazdım.
    Bu şekli ile bende çalışıyor. Türkiye seçili olarak geliyor.

    inspect ile ne yazıyor html kısmında ona bakın.
    14 Mart 2016 Pazartesi 13:40
  • cevap için teşekkürler secilen kısmına manuel değer atadığımda seçili geliyor sanırım secilen değeri null oldugundan dolayı seçmiyor. :D ,Bu arada MVC geçmeyi düşünüyorum aylardır bayadır kurcalıyorum sence MVC daha verim li mi ?geniş bir sorun oldu ama kısaca eski webformcu olarak MVC neler katar bana 
    14 Mart 2016 Pazartesi 13:56
  • Bu yazdığım webForm'du yalnız.

    MVC'ye geçin. İlk başlarda zorlanıyor insan o kadar kolaylığa alışınca. Ama ilk baştaki bu zor kısmı atlatınca MVC daha kolay gelmeye başlıyor.

    14 Mart 2016 Pazartesi 14:25
  • Webform olduğunu biliyorum.MVC biraz alıştırmalardan sonra geçeceğim 
    14 Mart 2016 Pazartesi 18:52