Yazı Font Küçült Yazı Font Büyült

GridView HyperLink Kullanımı

 

Merhaba arkadaşlar. Bir Asp.Net makalesinde daha birlikteyiz. Bu makalemizde GridView nesnesinde HyperLink kullanımını göreceğiz. Default.aspx sayfasında <Columns> </Columns> arasında HyperLink sütunumuzu tanımlıyoruz.

 

Resim1

Şekil 1

 

Hyperlink te; DataNavigateUrlFields="id" kısmında Url alanını, DataNavigateUrlFormatString="Details.aspx?id={0}" kısmında ise linke tıklanıldığında gideceği Url adresi ve id numarası tanımlanıyor. (Şekil 3)

 

Resim1

Şekil 2

 

 

Resim1

Şekil 3

 

Projemizde  Default.aspx ve Details.aspx sayfaları olacak. Default.aspx sayfasını Şekil 1 deki gibi oluşturun. Makalemizde GridView da ki Hyperlink linkine tıklanıldığında o satırdaki id nolu personele ait detayları Details.aspx sayfasında göstereceğiz.

 

 

Default.aspx

 

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

   

        <asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333"

            GridLines="None">

            <RowStyle BackColor="#FFFBD6" ForeColor="#333333" />

            <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />

           <Columns>

         

            <asp:HyperLinkField  HeaderText="Detay" DataNavigateUrlFields="id" DataNavigateUrlFormatString="Details.aspx?id={0}" Text="Detay için tıkla" />

            <asp:BoundField DataField="id" ReadOnly="true" HeaderText="ID" />

            <asp:BoundField DataField="Ad"  ReadOnly="true" HeaderText="Ad" />

            <asp:BoundField DataField="Soyad"  ReadOnly="true" HeaderText="Soyad" />

            <asp:BoundField DataField="Birim" ReadOnly="true" HeaderText="Birim" />

            <asp:BoundField DataField="Mail" ReadOnly="true" HeaderText="E-Mail" />

          

            </Columns>

          

            <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />

            <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />

            <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />

            <AlternatingRowStyle BackColor="White" />

        </asp:GridView>

   

    </div>

    </form>

</body>

</html>

 

Default.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.Data;

using System.Data.OleDb;

 

public partial class _Default : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

 

        OleDbConnection baglan = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0; Data Source=" + Server.MapPath("App_Data//bilgi.accdb"));

        OleDbDataAdapter da = new OleDbDataAdapter("Select id,Ad,Soyad,Birim,Mail From PersonelListesi", baglan);

        DataTable dt = new DataTable("Liste");

 

        da.Fill(dt);

 

        //GridView nesnesinin otomatik sütun almaması

        //ve BoundField ile elle oluşturduğumuz

        // sutun alanlarını alması için false yapıyoruz.

        GridView1.AutoGenerateColumns = false;

        GridView1.DataSource = dt;

        GridView1.DataBind();

    }

}

 

Details.aspx

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Details.aspx.cs" Inherits="Details" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

   

        <br />

   

    </div>

    </form>

</body>

</html>

 

Details.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.Data;

using System.Data.OleDb;

 

public partial class Details : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        OleDbConnection baglan = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0; Data Source=" + Server.MapPath("App_Data//bilgi.accdb"));

        OleDbDataAdapter da = new OleDbDataAdapter();

        string sorgu = "Select id,Ad,Soyad,Birim,Mail From PersonelListesi";

        da.SelectCommand = new OleDbCommand(sorgu, baglan);

        DataSet ds = new DataSet();

        int i = Convert.ToInt32(Request.QueryString["id"])-1;

        baglan.Open();

        da.Fill(ds);

        Response.Write("<b>ID:</b> " + ds.Tables[0].Rows[i].ItemArray[0].ToString());

        Response.Write("<br>");

        Response.Write("<b>AD:</b> " + ds.Tables[0].Rows[i].ItemArray[1].ToString());

        Response.Write("<br>");

        Response.Write("<b>SOYAD:</b> " + ds.Tables[0].Rows[i].ItemArray[2].ToString());

        Response.Write("<br>");

        Response.Write("<b>BİRİM:</b> " + ds.Tables[0].Rows[i].ItemArray[3].ToString());

        Response.Write("<br>");

        Response.Write("<b>MAİL:</b> " + ds.Tables[0].Rows[i].ItemArray[4].ToString());

       

       baglan.Close();

       

    }

}

 

Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek dileğiyle. Hoşçakalın. Bahadır ŞAHİN