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); 

0

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

SON YORUMLAR