12 Kasım 2014 Çarşamba

CSS 3 ile Reflect ile yansıma oluşturma

CSS3 ile beraber gelen yenilikler gün geçtikçe daha fazla önem kazanıyor ve gün geçtikçe yaratıcılıkta sınır tanımayanlar için muhteşem bir kaynak haline geliyor CSS3 bu makalemizde CSS3 ile beraber yansımanın nasıl yapıldığını örnekli olarak açıklayama çalışacağım.

img { -webkit-box-reflect: below 0px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(70%, transparent), to(rgba(250, 250, 250, 0.1))); }

22 Ekim 2014 Çarşamba

C# – Environment.NewLine

Örnekte verildiği gibi, yeni satıra geçmek istediğiniz yerde Enviroment.NewLine kullanabilirsiniz.
string s = "First line" + Environment.NewLine +
        "Second line";

Repeater veya DataList Kontrollerinde RadioButton İle Tek Seçim yapmak

Bazen Repeater veya DataList kontrollerinde RadioButton nesnesiyle tek seçim yapma ihtiyacında olabiliriz.Mantıken RadioButton nesnesinin GrupName özelliğine isim verdikten sonra, Repeater veya DataList’te tekrarlattıktan sonra tek seçim yapabileceğini düşünürüz. Malesef bu şekilde istediğimiz sonuca varamıyoruz. Şimdi size bu ihtiyacın nasıl giderileceğini pratik olarak göstereceğim. Örnek olarak DataList nesnesini kullanacağım. Şimdi varsayalım ki, bir DataList kontrolü üzerinde çalışıyorum.
 <asp:DataList ID="dlOrnek" RepeatColumns="5" runat="server" OnItemDataBound="dlOrnek_ItemDataBound">
            <ItemTemplate>
                <asp:RadioButton ID="rbOrnek" Checked="false" GroupName="rbOrnekGrup" Text="Seçin"
                    onKeyPress="return suppress(event);" runat="server" />
            </ItemTemplate>
        </asp:DataList>
Gördüğünüz gibi DataList kontrolümüzün OnItemDataBound Eventına “dlOrnek_ItemDataBound” adında bir metod bağlı.RadioButton nesnemizin ise onKeyPress özelliğinde ise “return suppress(event);” şeklinde bir JavaScript metodu tanımlanmış.Şimdi bu metodları yazalım.
protected void dlOrnek_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem)
            return;
        RadioButton rd = e.Item.FindControl("rbOrnek") as RadioButton;
        string script = "SetSingleRadioButton('" + rd.ClientID + "',this)";
        rd.Attributes.Add("onclick", script);
    }
ve javascript kodumuz...


<script type="text/javascript">
        function SetSingleRadioButton(nameregex, current) {
            re = new RegExp(nameregex);
            for (i = 0; i < document.forms[0].elements.length; i++) {
                elm = document.forms[0].elements[i];
                if (elm.type == 'radio') {
                    if (elm != current) {
                        elm.checked = false;
                    }
                }
            }
            current.checked = true;
        }
    </script>
İşte işimiz bitmiştir.Artık DataList içinde saydırılan RadioButton kontrolünde tek seçim yapabiliriz.Faydalanmanız dileğiyle,İyi Çalışmalar…












12 Temmuz 2014 Cumartesi

Button Click Olayına (Gönderiliyor...) tarzı efekt vermek


Olayı gerçekleştiren aslında kırmızı ile olan kısım

<asp:Button ID="btnGonder" runat="server" Text="Gönder" UseSubmitBehavior="false"
                        OnClientClick="this.disabled = true; this.value = 'Gönderiliyor!...';"
                        OnClick="btnGonder_Click" />

24 Haziran 2014 Salı

Asp.Net Site İçi Arama Yapımı

Arama yaptıracağımız sayfaya bir textbox ve bir buton ekleyelim
Default.aspx
<asp:TextBox ID="txtArama" runat="server"></asp:TextBox>
        &nbsp;<asp:Button ID="btnAra" runat="server" OnClick="btnAra_Click" Text="Ara" />

Butona çift tıklayalım ve aşağıdaki kodları yazalım
Default.aspx.cs
protected void btnAra_Click(object sender, EventArgs e)
    {
        string aranan = SqlInjectionTemizle(txtArama.Text);
        if (aranan.Length < 3)
        {
            ClientScript.RegisterStartupScript(typeof(Page), "asd", "<script>alert('Arama için en az üç harf girmelisiniz');</script>");
        }
        else
        {
            Response.Redirect("Arama.aspx?ara=" + aranan + "");
        }
    }
    public string SqlInjectionTemizle(string text)
    {
        text = text.Replace("&gt;", "");
        text = text.Replace("&lt;", "");
        text = text.Replace("--", "");
        text = text.Replace("'", "");
        text = text.Replace("char ", "");
        text = text.Replace("delete ", "");
        text = text.Replace("insert ", "");
        text = text.Replace("update ", "");
        text = text.Replace("select ", "");
        text = text.Replace("truncate ", "");
        text = text.Replace("union ", "");
        text = text.Replace("script ", "");
        return text;
    }
Burada 3 harften az kelime ile arama yapmayı engelledik ve SqlInjectionTemizle fonksiyonuyla zararlı olabilecek kelimeleri temizledik. Daha sonra aranan kelimeyi querystring ile arama.aspx sayfamıza gönderdik.Şimdi arama.aspx sayfamızın kodlarını yazalım.

Örnek olarak bir haber sitemiz olduğunu düşünelim ve haberler tablomuzdaki baslik ve detay alanlarında arama yaptıralım. Arama.aspx sayfamıza bir gridview ekleyelim ve kod tarafına aşağıdaki kodları yazalım
Arama.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;

public partial class Arama : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["ara"] != null)
        {
            string aranan = Request.QueryString["ara"];
            HaberleriGetir(aranan);
        }
    }

    private void HaberleriGetir(string aranan)
    {
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConn"].ConnectionString);
        SqlDataAdapter adp = new SqlDataAdapter("Select haberID,baslik,detay From haberler Where baslik Like '%" + aranan + "%' OR detay LIKE '%" + aranan + "%' Order By haberID Desc",conn);
        DataTable tbl = new DataTable();
        adp.Fill(tbl);

        GridView1.DataSource = tbl;
        GridView1.DataBind();
    }
}