Forum

ASP.Net Dinamik ark...
 
Bildirimler
Hepsini Temizle

ASP.Net Dinamik arkaplan nasıl yapılır?

6 Yazılar
3 Üyeler
0 Likes
746 Görüntüleme
(@BahtiyarHisar)
Gönderiler: 11
Eminent Member
Konu başlatıcı
 

Merhaba, Admin panelinden değiştirilebilen bir Arkaplan yapmak istiyorum. SQL de Arkaplan adlı bir tablom var.
Yapısı şu şekilde: "ArkaplanId,ArkaplanAdi,Resim"
Bunları
arkaplanı kaydetme aşamasında sorun yok ancak seçeneğe bağlı olarak
birini seçicem ve sitenin arkaplanı değişecek. Dataliste çektiğim
arkaplanları radio butanları ile seçenek haline getirip aktif olan
arkaplanı sitede göstermek istiyorum. Bunu nasıl yapabilirim?

C# ASP.Net kullanıyorum.
------------------------------------------------------------------------

                <asp:DataList ID="dlArkaplanlar" runat="server" CellSpacing="10" RepeatDirection="Horizontal" RepeatColumns="4" HorizontalAlign="Center">
                    <ItemStyle BorderColor="Silver" BorderStyle="Solid" BorderWidth="1px"/>
                    <ItemTemplate>
                        <table>
                            <tr>
                                <td align="center">
                                    <%#Eval("ArkaplanAdi"%>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <img src="../Images/<%#Eval("Resim"%>" width="160" />
                                </td>
                            </tr>
                            <tr>
                                <td align="center">
                                    <img src="Images/sil.png" />
                                </td>
                            </tr>
                        </table>
                    </ItemTemplate>
                </asp:DataList>

--------------------------
CodeBehind-----------------------------

using System; using System.Data; using System.Data.OleDb; using System.Data.SqlClient; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; using System; using System.Drawing; public partial class Admin_Styles_Ayarlar : System.Web.UI.Page {     Fonksiyon sistem = new Fonksiyon();     protected void Page_Load(object sender, EventArgs e)     {         arkaplanCek();

    }          void arkaplanCek()     {         DataTable dtArkaplanlar = sistem.GetDataTable("Select * from Arkaplan");         dlArkaplanlar.DataSource = dtArkaplanlar;         dlArkaplanlar.DataBind();     } }
-------------------------------------------------------
 
Gönderildi : 02/04/2014 04:06

(@kenanilgun)
Gönderiler: 544
Üye
 

Merhaba, bunu kullanıcı bazlı yapmadığınızı fark ettim, genel olarak işlev görecek bu özellik için radio butona ait event oluşturarak veri tabanınızda seçilen satır için true false özelliğini tutan bir veri ile bunu sağlayabilirsiniz.

 
Gönderildi : 08/04/2014 01:25

(@BahtiyarHisar)
Gönderiler: 11
Eminent Member
Konu başlatıcı
 

Sayfayı aşağıdaki şekilde düzenledim ancak hata alıyorum. Hatanın
neden kaynaklandığını çözemedim. Yardımcı olursanız sevinirim...

The
parameterized query '(@ArkaplanId nvarchar(4000))Update Arkaplan set
Aktif=0 Update A' expects the parameter '@ArkaplanId', which was not
supplied.

Açıklama: Geçerli
web isteği yürütülürken işlenmemiş özel durum oluştu. Lütfen hata ve
kod içinde kaynaklandığı yer hakkında daha fazla bilgi almak için yığın
izlemesini gözden geçirin. 

Özel Durum Ayrıntıları: System.Data.SqlClient.SqlException:
The parameterized query '(@ArkaplanId nvarchar(4000))Update Arkaplan
set Aktif=0 Update A' expects the parameter '@ArkaplanId', which was not
supplied.

Kaynak Hatası: 

Satır 183:            {
Satır 184:            cmdArkaplanAyarla.Parameters.AddWithValue("@ArkaplanId", rbAktif);
Satır 185:            cmdArkaplanAyarla.ExecuteNonQuery();    
Satır 186:            }
Satır 187:        }

Ayarlar.aspx kodlarını aşağıya yazdım.

                <asp:DataList ID="dlArkaplanlar" runat="server" CellSpacing="5" RepeatDirection="Horizontal" RepeatColumns="4" HorizontalAlign="Center" OnItemDataBound="dlArkaplanlar_OnItemDataBound">
                    <ItemStyle BorderColor="Silver" BorderStyle="Solid" BorderWidth="1px"/>
                    <ItemTemplate>
                        <table>
                            <tr>
                                <td align="center">
                                    <%#Eval("ArkaplanAdi") %>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <img src="../Images/<%#Eval("Resim") %>" width="160" />
                                </td>
                            </tr>
                            <tr>
                                <td align="center">
                                    <img src="Images/sil.png" />
                                </td>
                            </tr>
                            <tr>
                                <td align="center">
                                    <br/><asp:RadioButton ID="rbAktif" runat="server" TextAlign="Left" GroupName="ArkaplanAyarla" onKeyPress="return suppress(event);" AutoPostBack="True" />
                                    <asp:Button ID="btnArkaplanAyarla" runat="server" Text="Ayarla" OnClick="btnArkaplanAyarla_Click" />
                                </td>
                            </tr>
                        </table>
                    </ItemTemplate>
                </asp:DataList>
protected void btnArkaplanAyarla_Click(object sender, EventArgs e)
    {
        //Arkaplanı ayarlıyoruz.
        SqlConnection baglanti = sistem.baglan();
        SqlCommand cmdArkaplanAyarla =
            new SqlCommand("Update Arkaplan set Aktif=0 Update Arkaplan set Aktif=1 Where ArkaplanId=@ArkaplanId",
                baglanti);
 
        foreach (DataListItem item in dlArkaplanlar.Items)
        {
            DataList rbAktif = (DataList) item.FindControl("dlArkaplanlar");
            if (Visible)
            {
            cmdArkaplanAyarla.Parameters.AddWithValue("@ArkaplanId", rbAktif);
            cmdArkaplanAyarla.ExecuteNonQuery();    
            }
        }
 
    }
 
Gönderildi : 08/04/2014 02:38

(@kenanilgun)
Gönderiler: 544
Üye
 
"Update Arkaplan set Aktif=0 Update Arkaplan set Aktif=1 Where ArkaplanId=@ArkaplanId" kısmında bir hata almaktasınız. Bu alanı aşağıda ki verdiğim sql sorgusu ile deneyebilir misiniz.
"Update Arkaplan set Aktif=0; Update Arkaplan set Aktif=1 Where ArkaplanId=@ArkaplanId;"
 
 
Gönderildi : 08/04/2014 11:47

(@BahtiyarHisar)
Gönderiler: 11
Eminent Member
Konu başlatıcı
 

Dediğini yaptım ancak değişen bişe olmadı

 

The parameterized query '(@ArkaplanId nvarchar(4000))Update Arkaplan set Aktif=0; Update ' expects the parameter '@ArkaplanId', which was not supplied.

 
Gönderildi : 09/04/2014 02:39

(@MustafaPAT)
Gönderiler: 26
Eminent Member
 

ArkaplanId integer sen string gönderiyorsun.

 
Gönderildi : 16/04/2014 21:19

Paylaş: