Forum

C# yardımınız gerek...
 
Bildirimler
Hepsini Temizle

C# yardımınız gerekiyor

5 Yazılar
2 Üyeler
0 Likes
1,375 Görüntüleme
(@mesutsari)
Gönderiler: 16
Eminent Member
Konu başlatıcı
 
      protected void Page_Load(object sender, EventArgs e)
        {
            EmlakDB db = new EmlakDB("db");
            object[] values = { (int)Session["IlanSahibiID"] };
            string[] pnames = { "@id" };
            SqlDataReader dr = db.ExecuteReader("select * from View_KisiselIlanlariGetir  where IlanSahibiID=@id", false, pnames, values);
           
            rpt1.DataSource = dr;
            rpt1.DataBind();
            
            
        }
        protected void rpt1_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            
            Label lbl = (Label)e.Item.FindControl("Label2");
            if (lbl != null)
            {
                (e.Item.FindControl("Label2") as Label).Text = ("veritabanından nasıl çekerim buraya stringi");
            }
        }
 
 
 
 
Repeater içerisindeki ID'si  label2 olan kontrole ulaşıyorum ancak nasıl bu labelin text değerinin içerisine veri tabanından bir veri çekebilirim, yukarıdaki Page Load kısmındaki sql sorgusundaki koşula uyan bir sorgum var .?
 
Gönderildi : 23/01/2013 20:49

(@RagipUNAL)
Gönderiler: 171
Estimable Member
 

Merhabalar;

Öncelikle bir kontrol yaptır daha sonrada hiddenfield ile label2 i dolduracağın bir referans id olsun ki ona göre çekelim veriyi.

protected void rpt1_ItemDataBound(object sender, RepeaterItemEventArgs e)

        {
            if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
            {
            Label lbl = (Label)e.Item.FindControl("Label2");
            HiddenField ilanid = (HiddenField)e.Item.FindControl("hfilanid");
                lbl.Text = ?;
            }
        }
 
? koyduğum yere değeri text dönecek yada text'e dönüştürebileceğin bir katmanlı yapıda yazağın sınıfı ve sınıfın altındada metodun olmalı. Elde edeceğin id ile sqlden o id ye ait bir veri çekebilmelisin.
 
Örneğin: IlanGetirById(ConvertToInt32(ilanid.Text))
 
IlanGetirById methoduda bir değer dönmeli string olarak.
 
public string IlanGetirById(int ilanid)
{
//sql bağlantı ve dönecek değer
return sqldengelendeger;
}
 
Bu şekilde yapabilirsin. Ben bu şekilde yapıyorum. Çok katmanlı mimaride bu şekilde çalışmak gerekiyor. Ama eğer Label2'ye  View_KisiselIlanlariGetir sql tablondan varolan bir değeri getireceksen aspx tarafında bunu <%# Eval("KolonAdi")%> şeklinde label içine yazdırabilirsin.
 
Gönderildi : 24/01/2013 18:32

(@mesutsari)
Gönderiler: 16
Eminent Member
Konu başlatıcı
 

Öncelikle teşekkürler Ünal Bey , dediğiniz  gibi aspx tarafında eval ile çağırarak çözdüm, bir sorum daha olucak bir jquery kullanıyorum sayfamda resim görüntülemem gerekiyor jquery olmadan bir ımage kontrolüyle bu şekilde görüntüleyebiliyordum veritabanından çekip ;

 

 

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="IlanDetayUC.ascx.cs" Inherits="HomeQuestProject.WebUI.kontrol.IlanDetayUC" %>

<asp:Repeater ID="rptIlanDetay" runat="server" 

    onitemcommand="rptIlanDetay_ItemCommand">

    <ItemTemplate>

 <ul id="rePhoto" class="jcarousel-skin-pika" runat="server">

<li>

<a href="images/temp/property_12_big_1.jpg" title="Amazing view from Terrace"><img id="resim1" runat="server" src='<%#Eval("Foto1") %>' alt=""></a>

<span><em>click on image to enlarge</em>click</span>

  </li>

</ul>

                

</ItemTemplate></asp:Repeater>              

               

 

 ------------------------------------------

 

protected void Page_Load(object sender, EventArgs e)

        {

            if (IsPostBack) return;

            int qsCatId = 0;

            if (!string.IsNullOrWhiteSpace(Request.QueryString["ID"]) && int.TryParse(Request.QueryString["ID"], out qsCatId))

            {

                //EmlakDB db = new EmlakDB("db");

                SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=gayrimenkul;Integrated Security=True");

                conn.Open();

               

                SqlCommand cmd = new SqlCommand("Select * from View_IlanDetay Where IlanID=@id",conn);

                cmd.Parameters.AddWithValue("@id", qsCatId);

                SqlDataReader dr = cmd.ExecuteReader();

                rptIlanDetay.DataSource = dr;

                rptIlanDetay.DataBind();

 

            }

        }

        protected void rptIlanDetay_ItemCommand(object source, RepeaterCommandEventArgs e)

        {

            Image img = (Image)e.Item.FindControl("resim1");

        } 

ancak şu hatayı alıyorum çalıştırınca;

 

 

DataBinding: 'System.Data.Common.DataRecordInternal', Foto1 adında bir özellik içermiyor.

 
Gönderildi : 25/01/2013 22:21

(@RagipUNAL)
Gönderiler: 171
Estimable Member
 

Tekrar Merhabalar;

 

View_IlanDetay adlı tablonda Foto1 adında bir kolon içermediği için hata alıyorsun. Tablonu kontrol et ve Foto1 diye bir kolon yoksa oluşturmaya çalış yada varsa kolon ismini kontrol et.

 
Gönderildi : 26/01/2013 00:00

(@mesutsari)
Gönderiler: 16
Eminent Member
Konu başlatıcı
 

Teşekkürler ünal bey dediğiniz gibi

 
Gönderildi : 27/01/2013 23:25

Paylaş: