none
İframe ile başka bir domaindeki sayfayı başka bir domain altında çalıştırmada sorun yaşıyorum. RRS feed

  • Genel Tartışma

  • Merhaba,
    Aşağıdaki şekilde takvim kodum var bunu bir vps panelimdeki başka bir domainden çağırmam gerekiyor (sebebi ise diğer projemde çalıştıramamam iframe ile çekerek daha kolay çalıştırmam.) Sqlhelper class la çekdiği için webconfigren direkt o domaindeki A veritabanı bağlantısını görüyor. Ben ise Aynı sunucudaki B veritabanına ilgili yerlere bağansın istiyorum. bu mümkünmü?  Mümkün ise koduma göre bir bğlantı oluşturabilirmisiniz? Kodumutamamını sizle paylaşıyorum.
    public partial class EtkinlikD : System.Web.UI.Page
    {
    
        DateTime[] dates;
        DataTable dt;
        DataList dl = new DataList();
        protected void Page_Load(object sender, EventArgs e)
        {
            TakvimLoad();
        }
        #region takvimload
        private void TakvimLoad()
        {
            if (!IsPostBack)
            {
       
                using (var helper = new SqlHelper())
                {
                    var tmp = new DataTable();
    
                    tmp.Columns.Add("EtkinlikID");
                    tmp.Columns.Add("Tarih");
                    tmp.Columns.Add("Etkinlik");
                    tmp.Columns.Add("Saat");
                    tmp.Columns.Add("Katilimci");
                    tmp.Columns.Add("Yer");
                    tmp.Columns.Add("Olusturulma");
    
                    var dt = helper.CommandText("select * from ETKINLIK where ISNULL('Tarih','') <> '' ").ToDataTable();
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        tmp.Rows.Add(dt.Rows[i]["EtkinlikID"], Convert.ToDateTime(dt.Rows[i]["Tarih"]).ToShortDateString(), dt.Rows[i]["Etkinlik"], dt.Rows[i]["Saat"],
                                     dt.Rows[i]["Katilimci"], dt.Rows[i]["Yer"], Convert.ToDateTime(dt.Rows[i]["Olusturulma"]).ToShortDateString());
                    }
    
                    GridView1.DataSource = tmp;
                    GridView1.DataBind();
                    dt = tmp;
    
                    var events = "[";
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        var date = Convert.ToDateTime(dt.Rows[i]["Tarih"]);
                        events += "{ " +
                           "title: '" + dt.Rows[i]["Etkinlik"] + "'," +
                           "start: '" + date.Year + "-" + (date.Month.ToString().Length == 1 ? "0" + date.Month.ToString() : date.Month.ToString()) + "-" +
                           (date.Day.ToString().Length == 1 ? "0" + date.Day.ToString() : date.Day.ToString()) + "T" + dt.Rows[i]["Saat"].ToString() + "'," +
                           "Katilimci: '" + dt.Rows[i]["Katilimci"].ToString() + "'," +
                           "Tarih: '" + date.Day + "-" + date.Month + "-" + date.Year + " " + dt.Rows[i]["Saat"].ToString() + " - " + date.ToString("dddd") + "'},";
                    }
                    eventsLit.Text = events + "]";
                }
            }
        }
        #endregion
    
        #region Calendar1_DayRender
        protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
        {
            TakvimAyar(e);
        }
        #endregion
    
        #region TakvimAyar
        private void TakvimAyar(DayRenderEventArgs e)
        {
            for (int i = 0; i <= dates.GetUpperBound(0); i++)
            {
                /* Diziye eklenen tarih formatı saatli ve dakikalı olduğu için
                 * takvim karşılaştırmaları string ile short date e çevirip yapmak gerekiyor.
                 * Yoksa saatli girilen takvim olaylarını gün ile eşleştirip göstermiyor.
                */
                if (e.Day.Date.ToShortDateString() == dates[i].ToShortDateString())
                {
    
                    e.Day.IsSelectable = true;
                    e.Cell.BackColor = System.Drawing.Color.FromName("#f79646");
                    e.Cell.ForeColor = System.Drawing.Color.White;
                    e.Cell.CssClass = "qtip";
    
                    //Takvim hücresindeki geçerli tarihi bir değişken alıp, SQL tarih formatına çeviriyoruz
                    //SQL sorgusunda bu tarihteki olayları listeliyoruz
                    string sqlTarih = String.Format("{0:yyyy-MM-dd}", e.Day.Date);
                    string sorgu = "Select * from ETKINLIK Where Tarih like '%" + sqlTarih + "%'";
    
                    using (var helper = new SqlHelper())
                    {
                        var dt = helper.CommandText(sorgu).ToDataTable();
                        string takvimOlay = "";
    
                        for (int t = 0; t < dt.Rows.Count; t++)
                        {
    
                            takvimOlay += @"<div style=""text-align=left;"">";
                            takvimOlay += "     <b>Etkinlik</b>: " + dt.Rows[t]["Etkinlik"].ToString();
                            takvimOlay += "     <br/><b>Tarih</b>: " + dt.Rows[t]["Tarih"].ToString().Substring(0, 10);
                            takvimOlay += "     <br/><b>Saat</b>: " + dt.Rows[t]["Saat"].ToString().Substring(0, 5);
                            takvimOlay += "     <hr style=color:#ED9D54; />";
                            takvimOlay += "</div>";
                        }
                        e.Cell.Attributes.Add("title", takvimOlay);
    
                    }
                }
            }
        }
        #endregion
    }
    2 Nisan 2018 Pazartesi 18:22