BAĞLANTILARIM

Takip Edin:

0

Html elemanları, Asp.net Kontrolü olarak kullanmak

Cumartesi, Aralık 17, 2016 / / ,

Asp.net ile web siteleri geliştirirken bazı durumlarda Asp.net kontrolü yerine ona karşılık gelen Html elemanını kullanmak esneklik sağlayabilir.

Asp.net kontrolleri arasında yer alan LinkButton, Html içinde <a> elemanına dönüşüyorsa,
Asp.net kontrolleri arasında yer alan Panel, Html içinde <div> elemanına dönüşüyorsa,
Bu durumda tasarım tarafında kullanılmış bir Panel kontrolüne kod tarafında
panelDeneme.Attributes.Add(“style”,”display:none;”); şeklinde bir özellik atayabiliriz. Bu ne işe yarar?
Örneğin Asp.net kontrollerinin Visible.false özelliğine bağlı kalmadan Javascript ile göster-gizle yapmak istediğimiz durumlarda yukarıdaki kod işimizi çözmüş olur. Çünkü kontrollerin visible.false özelliği, yapmak istediğimizle birebir aynı sonucu vermemekte. Visible.false verilen kontrol Html kaynağında üretilmemiş oluyor. Bizim istediğimiz ise Html kaynakta bulunan bir elemanın tarayıcıda gizli olması ya da tam tersi görünüyorken gizlenmesi.

Tersten gidecek olursak:

Sayfaya Html olarak yazılan
<a href=”Deneme.aspx”>Deneme</a> elemanını,
<a id=”linkMenu” runat=”server” href='<%#Eval("SayfaUrl") %>'><%#Eval("SayfaAd") %></a> şeklinde değiştirerek (yani runat=”server” ve bir id tanımı ekleyerek) Kod tarafında bir Asp.net kontrolü gibi kullanabiliriz. Burada yapmak istediğim linkMenu isimli <a> elemanını Asp.net Repeater kontrolü içinde kullanmak ve kullanıcı tarafından tıklanan menünün seçili olmasını(stilinin değişmesini) sağlamak.

Asp.net Repeater kontrolünün OnItemDataBound olayı içinden <a> elemanımıza erişelim.

protected void repeatMenu_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            try
            {            
                    HtmlAnchor linkMenu = e.Item.FindControl("linkMenu") as HtmlAnchor; //eriştik
          }
            catch (Exception)
            {
            }
        }

Kullanıcının tıkladığı sayfa açıldığında ilgili <a> elemanını seçili yapalım.

protected void repeatMenu_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            try
            {
             string  menuSayfaId = DataBinder.Eval(e.Item.DataItem, "SayfaId").ToString();
string cagrilanSayfaId = SayfaBilgi(cagrilanSayfaUrl); //çağrılan sayfaUrl sinden Id bilgisi bulundu varsaydık.
                //seçileni aktif yap
                if (cagrilanSayfaId == menuSayfaId)
                {
                    HtmlAnchor linkMenu = e.Item.FindControl("linkMenu") as HtmlAnchor;
                    linkMenu.Attributes.Add("style", "color: #e06c5f; background-color: #eeeff3;");
                }
            }
            catch (Exception)
            {
            }
        }

Hangi Html elemanın Asp.net’te nasıl çağrılacağı ile ilgili (burada <a> elemanı HtmlAnchor şeklinde çağrıldı) tutorialspoint.com adresinde bulduğum içerik şu şekilde;

Control NameHTML tag
HtmlHead<head>element
HtmlInputButton<input type=button|submit|reset>
HtmlInputCheckbox<input type=checkbox>
HtmlInputFile<input type = file>
HtmlInputHidden<input type = hidden>
HtmlInputImage<input type = image>
HtmlInputPassword<input type = password>
HtmlInputRadioButton<input type = radio>
HtmlInputReset<input type = reset>
HtmlText<input type = text|password>
HtmlImage<img> element
HtmlLink<link> element
HtmlAnchor<a> element
HtmlButton<button> element
HtmlForm<form> element
HtmlTable<table> element
HtmlTableCell<td> and <th>
HtmlTableRow<tr> element
HtmlTitle<title> element
HtmlSelect<select> element
HtmlGenericControlAll HTML controls not listed

0

Asp.Net ile Javascript fonksiyonu çağırırken Eval değeri kullanma

Çarşamba, Ekim 26, 2016 / / , ,

ListView içindeki Checkbox kontrolü tıklandığı zaman; 

<asp:CheckBox ID="cbSecim" runat="server" onclick='<%# "Sec(" +Eval("UrunId") + " );" %>'/>

Javascript kodu;

<script type="text/javascript">
function Sec(secilenId) {

try {
alert(secilenId);
}
catch (e) {
    alert(e.message);
          }
}
</script>

0

Asp.net Jquery AutoComplete Otomatik Tamamlama

Salı, Haziran 28, 2016 / / , , , ,

//Arama TextBox

<asp:TextBox ID="txtArama" runat="server" CssClass="arama" autocomplete="off"></asp:TextBox>   

//Kullanılan js ve css

    <script src="js/jquery.js"></script>
    <script src="js/jquery-ui.min.js"></script>
    <link href="js/jquery-ui.min.css" rel="stylesheet" />

//JavaScript

<script type="text/javascript">
        $(document).ready(function () {
            $("#<%=txtArama.ClientID %>").autocomplete({
                source: function (request, response) {
                    $.ajax({
                        url: 'WebAra.aspx/UrunGetir',
                        data: "{ 'arananKelime': '" + request.term + "'}",
                        dataType: "json",
                        type: "POST",
                        contentType: "application/json; charset=utf-8",
                        success: function (data) {
                            response($.map(data.d, function (item) {
                                return {
                                    label: item.split('-')[0],
                                    val: item.split('-')[1]
                                }
                            }))
                        },
                        error: function (response) {
                            //alert(response.responseText);
                        },
                        failure: function (response) {
                            //alert(response.responseText);
                        }
                    });
                },
                select: function (event, ui) {
                    var gidilecekItemUrl = ui.item.val;
                    window.location.href = 'Urun.aspx?' + gidilecekItemUrl;
                },
                minLength: 1
            });
        });
    </script>


//WebAra.aspx


[WebMethod(EnableSession = true)] //webmethod içinde session kullanmak gerekirse (EnableSession = true)
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string[] UrunGetir(string arananKelime)
{
List<string> urunler = new List<string>();

//HttpContext.Current.Session["VERITABANI_ADI"].ToString() //WebMethod içinde Session kullanımı
//arananKelime sorguda ilgili yere

//DataTable dt = ...
//DataRow dr = ...
string urunUrl = "kategoriId=" + dr["KategoriId"].ToString() + "&urunId=" + dr["UrunId"].ToString();
string urunAd = dr["UrunAd"].ToString();
urunler.Add(string.Format("{0}-{1}", urunAd, urunUrl));
return urunler.ToArray();
}

0

FANCYBOX IFRAME PENCERESİ İÇİNDE TIKLANAN BUTON SONRASI IFRAME'İN KOD TARAFINDAN KAPATILIP, ASIL SAYFANIN YENİLENMESİ

Cumartesi, Haziran 11, 2016 / / , , ,

Asıl Sayfamız

        <script type="text/javascript">
            $(document).ready(function () {
                //fancybox
                $(".various").fancybox({
                    maxWidth: 850,
                    maxHeight: 650,
                    fitToView: false,
                    width: '70%',
                    height: '70%',
                    autoSize: false,
                    closeClick: false,
                    openEffect: 'none',
                    closeEffect: 'none',
                    afterShow: function () {
                        $('.fancybox-iframe').contents().find('#button').click(function () {
                            window.parent.location.reload();
                        });
                    }

                });
            });
    </script>

Iframe içinde ilgili yere;

Yapılacak işlemler sonrası Fancybox Iframe penceresini kod tarafından kapatmak için aşağıdaki kod kullanılabilir.

ScriptManager.RegisterStartupScript(this, GetType(), "", "parent.$.fancybox.close();", true); 

1

Asp.net ScriptManager TimeoutException hatası ve çözümü

Perşembe, Mayıs 26, 2016 / / , ,

Script Manager kullanılan sayfalarda timeout olma durumunda ScriptManager kontrolünün kendi TimeOut özelliği aşağıdaki şekilde ayarlanabilir.

<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="900"></asp:ScriptManager>

Bu özellik belirtilmezse varsayılan süre 90 saniye (1.5 min)

0

AutoGenerate olarak oluşturulmuş GridView kontrolünde sütun gizleme

Pazartesi, Mayıs 02, 2016 / / , ,

Yine OnRowCreated olayında;

        protected void gridTablo_RowCreated(object sender, GridViewRowEventArgs e)
        {
            GridViewRow satir = e.Row;
            List<TableCell> sutunlar = new List<TableCell>();
            foreach (DataControlField column in gridTablo.Columns)
            {
                TableCell hucre = satir.Cells[0];
                satir.Cells.Remove(hucre);
                sutunlar.Add(hucre);
            }
            satir.Cells.AddRange(sutunlar.ToArray());
            e.Row.Cells[0].Visible = false; //Sıfırıncı sütunu gizle
            e.Row.Cells[7].Visible = false; //Yedinci sütunu gizle

        }
AutoGenerate olarak oluşturulmuş GridView kontrolüne buton ekleme ve Click olayını yakalama
Tıklanan butonun görünümünü değiştirme
Oluşan butonu sütunların en sağına alma
AutoGenerate olarak oluşturulmuş GridView kontrolünde sütun gizleme

0

GridView içinde oluşturulmuş butonu sütunların en sağına alma

Pazartesi, Mayıs 02, 2016 / / , ,

OnRowCreated olayında;

<asp:GridView ID="gridTablo" runat="server" CssClass="tablo" OnRowCreated="gridTablo_RowCreated" OnRowCommand="gridTablo_RowCommand">
                <Columns>
                    <asp:TemplateField HeaderText="Islem">
                        <ItemTemplate>
                            <asp:LinkButton ID="linkSec" runat="server" CommandName="Sec" CommandArgument='<%#Eval("SatirIndex")+","+ Eval("TanimId")+","+Eval("GecisTarihi")+","+Eval("GrupId") %>'><i class="fa fa-random buton gri" title="Düzenlenmiş olarak aktar"></i></asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>


        protected void gridTablo_RowCreated(object sender, GridViewRowEventArgs e)
        {
            GridViewRow satir = e.Row;
            List<TableCell> sutunlar = new List<TableCell>();
            foreach (DataControlField column in gridTablo.Columns)
            {
                TableCell hucre = satir.Cells[0];
                satir.Cells.Remove(hucre);
                sutunlar.Add(hucre);
            }
            satir.Cells.AddRange(sutunlar.ToArray());
        }
AutoGenerate olarak oluşturulmuş GridView kontrolüne buton ekleme ve Click olayını yakalama
Tıklanan butonun görünümünü değiştirme
Oluşan butonu sütunların en sağına alma
AutoGenerate olarak oluşturulmuş GridView kontrolünde sütun gizleme

0

Tıklanan butonun görünümünü değiştirme

Pazartesi, Mayıs 02, 2016 / / , ,

Yine OnRowCommand olayında; 

protected void gridTablo_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Sec")
            {
                string[] commandArgs = e.CommandArgument.ToString().Split(new char[] { ',' });
                int satirIndex = Convert.ToInt32(commandArgs[0]);
                string tanimId = commandArgs[1];
                string gecisTarihi = commandArgs[2];
                string grupId = commandArgs[3];
LinkButton linkSec = (LinkButton)gridTablo.Rows[satirIndex].FindControl("linkSec");
                string id = linkSec.ID;
                linkSec.Text = "<i class=\"fa fa-check\"></i>";
                linkSec.CssClass = "yesil14";
            }
        }

0

AutoGenerate olarak oluşturulmuş GridView kontrolüne buton ekleme ve Click oLayını yakalama

Pazartesi, Mayıs 02, 2016 / / , ,

OnRowCommand olayında;

<asp:GridView ID="gridTablo" runat="server" CssClass="tablo" OnRowCommand="gridTablo_RowCommand">
                <Columns>
                    <asp:TemplateField HeaderText="Islem">
                        <ItemTemplate>
                            <asp:LinkButton ID="linkSec" runat="server" CommandName="Sec" CommandArgument='<%#Eval("SatirIndex")+","+ Eval("TanimId")+","+Eval("GecisTarihi")+","+Eval("GrupId") %>'><i class="fa fa-random buton gri" title="Düzenlenmiş olarak aktar"></i></asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>


Click olayını yakalama


protected void gridTablo_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Sec")
            {
                string[] commandArgs = e.CommandArgument.ToString().Split(new char[] { ',' });
                int satirIndex = Convert.ToInt32(commandArgs[0]);
                string tanimId = commandArgs[1];
                string gecisTarihi = commandArgs[2];
                string grupId = commandArgs[3];
            }
        }
AutoGenerate olarak oluşturulmuş GridView kontrolüne buton ekleme ve Click olayını yakalama
Tıklanan butonun görünümünü değiştirme
Oluşan butonu sütunların en sağına alma
AutoGenerate olarak oluşturulmuş GridView kontrolünde sütun gizleme

0

DataTable sütun adlarının bilinmediği durumlarda kayıtların sayfada gösterimi

Pazartesi, Mayıs 02, 2016 / / , ,

GridView kontrolü, kendisine atanmış veri kaynağınının sütunlarını AutoGenerateColumns="true" özelliği ile otomatik listeleyebilir. Bu özellik varsayılan olarak "true" şeklindedir.

<asp:GridView ID="gridTablo" runat="server" CssClass="tablo">
            </asp:GridView>


dtKayitlar; //veri doldurulmuş datatable
gridTablo.DataSource = dtKayitlar;
gridTablo.DataBind();



AutoGenerate olarak oluşturulmuş GridView kontrolüne buton ekleme ve Click olayını yakalama
Tıklanan butonun görünümünü değiştirme
Oluşan butonu sütunların en sağına alma
AutoGenerate olarak oluşturulmuş GridView kontrolünde sütun gizleme

0

Asp.net'te ListView içinde DropDownList kullanımı ve kayıt durumuna göre DropDownList'i seçili yapma

Çarşamba, Şubat 24, 2016 / / , ,


protected void lvListe_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            DropDownList dropIzinTipi = (DropDownList)e.Item.FindControl("dropIzinTipi");
            if (e.Item.ItemType == ListViewItemType.DataItem)
            {
                dropIzinTipi.Items.Clear();
                VeriMsSQL.Islem islem = new VeriMsSQL.Islem();
                DataTable dt = islem.IzinTipiListe();
                dropIzinTipi.Items.Add(new ListItem("Seçiniz..", "0"));
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow dr = dt.Rows[i];
                    string no = dr["IzinTipId"].ToString();
                    string ad = dr["IzinTipAd"].ToString();
                    dropIzinTipi.Items.Add(new ListItem(ad, no));
                }
                dt.Dispose();
            }
            //seçili yap
            ListViewDataItem dataItem = (ListViewDataItem)e.Item;
            DataRowView rowView = (DataRowView)dataItem.DataItem;
            string kayitliIzinTipi = rowView["IzinTipi"].ToString(); //listview kontrolünde listeleme yapılırken veri kaynağı olarak gösterilen DataTable'da "IzinTipi" adında bir alan olduğunu ve o alanda eğer varsa tanımlanmış olan "IzinTipId" lerinin bulunduğunu düşündük.
            dropIzinTipi.SelectedValue = kayitliIzinTipi;
        }


ListtView kontrolünün tasarım tarafındaki durumu

<asp:ListView ID="lvListe" runat="server" OnPagePropertiesChanged="lvListe_PagePropertiesChanged" OnItemDataBound="lvListe_ItemDataBound">
            <ItemTemplate>
                <tr>
                    <td><%#Eval("PersonelTanimId") %></td>
                    <td><%#Eval("AdSoyad") %></td>
                    <td>
                        <asp:TextBox ID="txtGiris" runat="server" CssClass="inputEdit" Text='<%#Eval("Giris").ToString().Length>4 ? Eval("Giris").ToString().Substring(0, 5) : Eval("Giris") %>'></asp:TextBox><asp:HiddenField ID="hfPersonelTanimId" runat="server" Value='<%#Eval("PersonelTanimId") %>' />
                    </td>
                    <td>
                        <asp:TextBox ID="txtCikis" runat="server" CssClass="inputEdit" Text='<%#Eval("Cikis").ToString().Length>4 ? Eval("Cikis").ToString().Substring(0, 5) : Eval("Cikis") %>'></asp:TextBox></td>
                    <td><%#Eval("GirisFark") %></td>
                    <td><%#Eval("CikisFark") %></td>
                    <td><%#Eval("CalismaSure") %></td>
                    <td><%#Eval("GrupAd") %></td>
                    <td><asp:DropDownList ID="dropIzinTipi" runat="server" CssClass="input"></asp:DropDownList></td>
                    <td style="text-align: right;"><%#Eval("IzinId").ToString()!=String.Empty ? "<a href=\"IzinDetay.aspx?izinId="+Eval("IzinId") +"\" class=\"buton gri various\" data-fancybox-type=\"iframe\" title=\"İzin Bilgi\"><i class=\"fa fa-child\"></i></a>" : "" %><asp:HiddenField ID="hfIzinId" runat="server" Value='<%#Eval("IzinId") %>' /></td>
                </tr>
            </ItemTemplate>
        </asp:ListView>

0

C# Xml Dosya Okuma

Cuma, Şubat 12, 2016 / / , , ,


protected void XmlOku()
        {
            try
            {
                string klasorYolu = "C:\\Users\\Tamer\\Desktop\\Kaynak\\";
                string dosyaAd = "test.xml";
                string okunacakDosya = klasorYolu + "\\" + dosyaAd;
                XmlDocument xmlDokuman = new XmlDocument();
                xmlDokuman.Load(okunacakDosya);
                XmlNode xmlNod = xmlDokuman.DocumentElement;
                XmlNode nodBaslik = xmlNod.SelectSingleNode("Baslik");
                string unvan = nodBaslik["Unvan"].InnerText;
                string sehir = nodBaslik["Sehir"].InnerText;            
                XmlNode nodVergi = xmlNod.SelectSingleNode("Baslik/Vergi"); //buradaki veriler attribute şeklinde
                string vergiTipi = nodVergi.Attributes["Tipi"].Value;
                string vergiDaire = nodVergi.Attributes["Daire"].Value;
                string vergiNo = nodVergi.Attributes["No"].Value;
                string kimlikNo = nodVergi.Attributes["Kimlik"].Value;

                XmlElement xmlEleman = xmlDokuman.DocumentElement;
                XmlNodeList nodListe = xmlEleman.GetElementsByTagName("Urun"); //buradaki veriler liste şeklinde
                foreach (XmlNode urun in nodListe)
                {
                    string urunKod = urun["Kod"].InnerText;
                    string urunAd = urun["Ad"].InnerText;
                    string urunMiktar = urun["Miktar"].InnerText;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

0

C# Xml Dosya Oluşturma

Cuma, Şubat 12, 2016 / / , , ,



protected void XmlOlustur()
        {
            try
            {
                string klasorYolu = "C:\\Users\\Tamer\\Desktop\\Kaynak\\";
                string olusturulacakDosyaAd = "test.xml";
                ////dosyanın oluşturulacağı klasör dialog ile belirlenecekse
                //using (FolderBrowserDialog fdb = new FolderBrowserDialog())
                //{
                //    if (fdb.ShowDialog() == DialogResult.OK)
                //    {
                //        klasorYolu = fdb.SelectedPath + "\\";
                //    }
                //}
                //XML ayarları
                XmlWriterSettings settings = new XmlWriterSettings();
                settings.Indent = true;
                settings.Encoding = Encoding.UTF8;
                //oluşturmaya başla
                using (XmlWriter writer = XmlWriter.Create(klasorYolu + olusturulacakDosyaAd, settings))
                {
                    writer.WriteStartDocument();
                    writer.WriteStartElement("FATURAXML");
                    writer.WriteStartElement("Baslik");
                    writer.WriteStartElement("Unvan");
                    writer.WriteRaw("Tamer YİĞİT");
                    writer.WriteEndElement();
                    writer.WriteRaw("<Vergi Tipi=\"2\" Daire=\"Konyaaltı\" No=\"\" Kimlik=\"12345678910\"/>");
                    writer.WriteStartElement("Sehir");
                    writer.WriteRaw("Antalya");
                    writer.WriteEndElement();
                    writer.WriteEndElement(); //başlık bilgisini kapat
                    writer.WriteStartElement("Icerik");
                    writer.WriteStartElement("Urunler");
                    writer.WriteStartElement("Urun");
                    writer.WriteStartElement("Kod");
                    writer.WriteRaw("24382");
                    writer.WriteEndElement();
                    writer.WriteStartElement("Ad");
                    writer.WriteRaw("Gözlük");
                    writer.WriteEndElement();
                    writer.WriteStartElement("Miktar");
                    writer.WriteRaw("1");
                    writer.WriteEndElement();
                    writer.WriteEndElement(); //ürün bilgisini kapat

                    writer.WriteStartElement("Urun");
                    writer.WriteStartElement("Kod");
                    writer.WriteRaw("24383");
                    writer.WriteEndElement();
                    writer.WriteStartElement("Ad");
                    writer.WriteRaw("Anahtarlık");
                    writer.WriteEndElement();
                    writer.WriteStartElement("Miktar");
                    writer.WriteRaw("4");
                    writer.WriteEndElement();
                    writer.WriteEndElement(); //ürün bilgisini kapat                                      
                    writer.WriteEndElement(); //içerik bilgisini kapat
                    writer.WriteEndElement();
                    writer.WriteEndDocument(); //dokümanı kapat
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

0

C# WindowsForm uygulamarında dataGridView üzerinde mouse sağ click ile kolay menü açtırmak

Perşembe, Şubat 11, 2016 / / ,



Bir adet contextMenuStrip sürüklendikten sonra menü başlıkları eklenir. Örneğin "Sil"

object secilenSatirId; //dışarıda tanımla, cell_mouse_click olayında doldurup, sil methodu içinde kullan

dataGridView kontrolünün CellMouseClick olayına

        private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            try
            {
                if (e.Button == MouseButtons.Right)
                {
                    secilenSatirId = dataGridView1.Rows[e.RowIndex].Cells["DeğeriAlınacakSütununAdı"].Value;
                    if (secilenSatirId != null)
                    {
                        contextMenuStrip1.Show(Cursor.Position);
                    }
                }
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.Message);
            }
        }

"Sil" tıklandığında yapılacaklar ise "Sil" in Click olayına..

        private void silToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                //secilenSatirId ile silme işlemini yap
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

SON YORUMLAR