Admin Paneli (Yeni Kitap Kayıt İşlemi) Admin.aspx sayfamıza yeni

Transkript

Admin Paneli (Yeni Kitap Kayıt İşlemi) Admin.aspx sayfamıza yeni
Admin Paneli (Yeni Kitap Kayıt İşlemi)
Admin.aspx sayfamıza yeni bir HyperLink kontrolü ekliyoruz. NavigateUrl’sine aşağıdaki bağlantıyı
oluşturuyoruz. Böylece, Link tıklandığında yeni_kitap_kayit.ascx UserControl sayfamızı PlaceHolder
kontrolümüz içerisinde çağırmış oluyoruz.
Kitap Ekle linki tıklandığında, admin.aspx sayfamızın görüntüsü aşağıdaki şekilde olacaktır.
Yeni_kitap_ekle.ascx UserControl sayfamızın Html (Source) kodları aşağıdaki şekildedir.
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="yeni_kitap_kayit.ascx.cs"
Inherits="admin_yeni_kitap_kayit" %>
<%@ Register assembly="FredCK.FCKeditorV2" namespace="FredCK.FCKeditorV2"
tagprefix="FCKeditorV2" %>
<style type="text/css">
.style1
{
width: 640px;
text-align: left;
}
.style2
{
width: 93px;
text-align: left;
}
.style5
{
width: 93px;
height: 59px;
}
.style7
{
width: 93px;
}
</style>
<table style="width:100%;">
<tr>
<td class="style2">
&nbsp;</td>
<td class="style1" style="text-align: center; background-color: #0099CC">
<b>Kitap Bilgileri</b></td>
</tr>
<tr>
<td class="style7">
Kitap Adı</td>
<td class="style1">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style7">
Yazarı</td>
<td class="style1">
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style7">
Yayınevi</td>
<td class="style1">
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style7">
Kitap Detayı
</td>
<td class="style1">
<asp:TextBox ID="TextBox4" runat="server" Height="111px"
TextMode="MultiLine"
Width="452px"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style7">
Fiyatı</td>
<td class="style1">
<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style5">
Kategorisi</td>
<td class="style1">
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
DataSourceID="AccessDataSource1" DataTextField="kategori_adi"
DataValueField="id"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="~/App_Data/kitap.accdb" SelectCommand="SELECT * FROM
[kategoriler]">
</asp:AccessDataSource>
</td>
</tr>
<tr>
<td class="style7">
Alt kategorisi</td>
<td class="style1">
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True"
DataSourceID="AccessDataSource2" DataTextField="alt_kategori_adi"
DataValueField="id">
</asp:DropDownList>
<asp:AccessDataSource ID="AccessDataSource2" runat="server"
DataFile="~/App_Data/kitap.accdb"
SelectCommand="SELECT * FROM [altkategoriler]"></asp:AccessDataSource>
</td>
</tr>
<tr>
<td class="style7">
&nbsp;</td>
<td style="text-align: center; background-color: #0099CC">
<b >Kitap Dosyaları</b></td>
</tr>
<tr>
<td class="style7">
Resim1</td>
<td class="style1">
<asp:FileUpload ID="FileUpload1" runat="server" />
</td>
</tr>
<tr>
<td class="style7">
Resim2</td>
<td class="style1">
<asp:FileUpload ID="FileUpload2" runat="server" />
</td>
</tr>
<tr>
<td class="style7">
Resim3</td>
<td class="style1">
<asp:FileUpload ID="FileUpload3" runat="server" />
</td>
</tr>
<tr>
<td class="style7">
Resim4</td>
<td class="style1">
<asp:FileUpload ID="FileUpload4" runat="server" />
</td>
</tr>
<tr>
<td class="style7">
Video</td>
<td class="style1">
<asp:FileUpload ID="FileUpload5" runat="server" />
</td>
</tr>
<tr>
<td class="style7">
&nbsp;</td>
<td class="style1">
<asp:Button ID="Button1" runat="server" Text="Kitap Bilgilerini Kaydet"
onclick="Button1_Click" />
<asp:Label ID="Label1" runat="server" Text=" "></asp:Label>
</td>
</tr>
</table>
Kategorisi ve alt kategorisi DropDownList kontrollerinin veritabanı bağlantısı için iki tane
AccessDataSource kontrolü eklenmiştir.
Birinci AccessDataSource 1 kontrolümüz veritabanımızdan ana kategorileri çekecek şekilde
ayarlanacaktır.
İkinci AccessDataSource2 kontrolümüz veritabanımızdan, DropDownList1 içerisinden seçilen ana
kategorinin alt kategorilerini çekecek şekilde ayarlanacaktır.
DropDownList1 kontrolünün SelectedIndexChanged olayına aşağıdaki kodlar eklenecektir.
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
//Label1.Text = DropDownList1.SelectedValue;
AccessDataSource2.SelectCommand = "SELECT * FROM altkategoriler WHERE
kategori_id=" + DropDownList1.SelectedValue.ToString() ;
AccessDataSource2.DataBind();
}
Böylece DropDownList1 içerisinden seçilen ana kategorinin alt kategorileri, DropDownList2 içerisinde
görüntülenecektir. DropDown kontrollerinin AutoPostBack özelliği aktif hale getirilmelidir. Bunun
nedeni, seçim yapılınca sayfanın bilgileri post edip refresh yapması içindir.
Kitap Bilgilerini Kaydet Butonu tıklandığında ise aşağıdaki kodlar çalıştırılacaktır;
using
using
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.Linq;
System.Web;
System.Web.UI;
System.Web.UI.WebControls;
System.Web.Configuration;
System.Data.OleDb;
System.Data;
public partial class admin_yeni_kitap_kayit : System.Web.UI.UserControl
{
string isim = DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() +
DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
//Label1.Text = DropDownList1.SelectedValue;
AccessDataSource2.SelectCommand = "SELECT * FROM altkategoriler WHERE
kategori_id=" + DropDownList1.SelectedValue.ToString() ;
AccessDataSource2.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
// String baglanti2 =
WebConfigurationManager.ConnectionStrings["veritabani"].ConnectionString;
// String sql_cumlesi2 = "INSERT INTO
kitap(kitap_adi,yazar,yayinevi,fiyat,kategorisi,altkategorisi,resim1,resim2,resim3,res
im4,video,detay)
VALUES(@adi,@yzr,@yayinev,@fyt,@kategori,@altkategori,@r1,@r2,@r3,@r4,@vdo,@dty)";
OleDbConnection baglanti = new OleDbConnection(); // Veritabanı baglanti
nesnesi tanımlanıyor
baglanti.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source="
+ Server.MapPath("~/App_Data\\kitap.accdb"); //Veritabanına bağlanılıyor
baglanti.Open();//Veritabanını açılıyor.
String sql_cumlesi = "INSERT INTO
kitap(kitap_adi,yazar,yayinevi,fiyat,kategorisi,altkategorisi,resim1,resim2,resim3,res
im4,video,detay)
VALUES(@adi,@yzr,@yayinev,@fyt,@kategori,@altkategori,@r1,@r2,@r3,@r4,@vdo,@dty)";
OleDbCommand komut = new OleDbCommand(sql_cumlesi, baglanti);
komut.Parameters.Add("@adi", OleDbType.Variant).Value = TextBox1.Text;
komut.Parameters.Add("@yzr", OleDbType.Variant).Value = TextBox2.Text;
komut.Parameters.Add("@yayinev", OleDbType.Variant).Value = TextBox3.Text;
komut.Parameters.Add("@fyt", OleDbType.Variant).Value = TextBox5.Text;
komut.Parameters.Add("@kategori", OleDbType.Variant).Value =
DropDownList1.SelectedValue;
komut.Parameters.Add("@altkategori", OleDbType.Variant).Value =
DropDownList2.SelectedValue;
komut.Parameters.Add("@r1", OleDbType.Variant).Value = isim.ToString()+".jpg";
komut.Parameters.Add("@r2", OleDbType.Variant).Value =
isim.ToString()+"1.jpg";
komut.Parameters.Add("@r3", OleDbType.Variant).Value =
isim.ToString()+"2.jpg";
komut.Parameters.Add("@r4", OleDbType.Variant).Value =
isim.ToString()+"3.jpg";
komut.Parameters.Add("@vdo", OleDbType.Variant).Value =
isim.ToString()+"v.swf";
komut.Parameters.Add("@dty", OleDbType.Variant).Value = TextBox4.Text;
komut.ExecuteNonQuery();
FileUpload1.SaveAs(Server.MapPath("../kitaplar/"+isim.ToString()+".jpg"));
FileUpload2.SaveAs(Server.MapPath("../kitaplar/" + isim.ToString() +
"1.jpg"));
FileUpload3.SaveAs(Server.MapPath("../kitaplar/" + isim.ToString() +
"2.jpg"));
FileUpload4.SaveAs(Server.MapPath("../kitaplar/" + isim.ToString() +
"3.jpg"));
FileUpload5.SaveAs(Server.MapPath("../kitaplar/" + isim.ToString() +
"v.swf"));
Label1.Text = "Kitap Bilgileri kaydedildi<meta http-equiv='refresh'
content='3';url='admin.aspx?sayfa=yeni_kitap_kayit'";
//Response.Redirect("admin.aspx?sayfa=yeni_kitap_kayit");
}
}

Benzer belgeler

Tam Metin - İstanbul Teknik Üniversitesi

Tam Metin  - İstanbul Teknik Üniversitesi gideriminin hedeflendiği MAP çöktürmesinin arıtma şemasındaki yeri belirlenerek uygulama esasları tanımlanmıştır. Deneysel çalışmanın yürütüldüğü kesim ve et işleme operasyonlarının gerçekleştirild...

Detaylı

Sayın Nimet EREN, 08 / Eylül / 2008

Sayın Nimet EREN, 08 / Eylül / 2008 iletisim.getIlcelerByIlId(ddlSehir.SelectedValue) ddlIlce.DataTextField = "AD" ddlIlce.DataValueField = "ID" ddlIlce.DataBind() ddlIlce.Items.Insert(0, New ListItem("İlçe Seçiniz ", "")) End Sub Pr...

Detaylı