Google da ara

 

Temmuz 2010
Pts Sal Çar Per Cum Cts Paz
« Haz    
 1234
567891011
12131415161718
19202122232425
262728293031  

Google Reklamları

Dil Seçimi

Bağış yada Ödeme

Sayfa 1 / 1212345»...Son »

Aspx.co

Yeni url kısaltma servisi aspx.co ile uzun uzun url leri kısacık url ler haline dönüştürebiliyorsunuz.

örnek olarak uzun uzun

http://www.hepsiburada.com/Liste/nsd-powerball-signature-digital-sayacli-stres-topu-188-lc-w/productDetails.aspx?categoryid=369184&productid=sporpb188lcw

yazmak yerine

aspx.co/myxnK

şeklinde kısacık bir url gönderdiğinizde birisine daha sempatik gelip tıklanabilirliğini arttırabilirsiniz.

Firebug ile CSS duzenleme ve kaydetme

Bir çok web tasarımcısının sitelerinin tasarımlarını firebug ile düzenlediğini ve burada yaptığı değişiklikleri css dosyalarına kopyalayıp yapıştırdığına şahit oldum. Dün bununla ilgili biraz araştırma yapıp firebug üzerindeki değişiklikleri direk kaydetmenin bir yolunu aradım ve karşıma FireFile adında bir Firebug eklentisi çıktı. Bu eklenti ile yaptığınız değişiklikleri direk server a gönderebiliyorsunuz.

Kısaca yaptığı işlem şu :

- Firebug a attach olarak Css düzenlemelerini track ediyor
- Eklemiş olduğunuz bir endpoint service e bu değişiklikleri otomatik yada manuel bir şekilde gönderebiliyor.

Burda sözü geçen endpoint eklentiyi geliştiren arkadaşın canlıda kullanılmak üzere yazdığı bir php dosyasından ibaret.
Dosyayı server a atarak gerekli düzenlemeleri yaptığınızda (dosya yetkileri vb) sitenize girip firebug ile düzenlediğiniz css leri herhangi bir kopyala yapıştır işlemi olmaksızın kaydedebiliyorsunuz.

Eklentiyi biraz debug ederek yaptığı işlemin en basit halini kendim kullanabileceğim bir Asp.Net dosyası olarak geliştirdim. Böylece local de asp.net web development server üzerinden istediğim gibi css lerimi kolay bir şekilde değiştirebilir hale geldim.
Asp.Net Web Developer larının çok işine yarayacağını düşündüğüm bu dosyayı aşağıdaki adresten indirebilirsiniz.

Kurulum için öncelikle bu adresten firebug ı kurmuş olmanız gerekiyor:

http://getfirebug.com/

Sonra firefile eklentisini bu adresten edinebilirsiniz:

https://addons.mozilla.org/en-US/firefox/addon/52365/

En son olarakta FireFile.aspx dosyasını aşağıdaki adresten indirebilirsiniz :

http://www.yilmazyavuz.com/yyblog/wp-content/uploads/FireFileAspx.rar

Kullanımı readme.txt dosyasında anlatılmıştır.Soru ve önerileriniz için bu yazıya yorum yapabilirsiniz.

Asp.Net Html element i Jquery ile bulma.

Bildiğiniz üzere Asp.Net tarafında html elementleri runat server yaptığınız verdiğiniz id / name attribute leri render edilirken bağlı bulunduğu asp.net panel/ container / div vb nesnelerin idlerinide almakta. Jscript ile bu elementleri bulmak için aşağıdaki Jquery selectorünü kullanabilirsiniz.

Örneğin divSagTaraf adinda bir asp.net runat server yapılmış bir divimiz olsun bu eğer dışında başka bir container vb varsa


$('#divSagTaraf') .slideDown();

şeklinde bir komut çalışmayacaktır, jquery bulamadığı element için hata vermeyeceği gibi herhangi bir işlemde yapmayacaktır.


$("[id$='divSagTaraf']").slideDown();

şeklinde bir javascript kodu id sinin sonunda divSagTaraf geçen bir element arayacağı için herhangi bir hata vermeden çalışacaktır. Ancak bu işlemi bir repeater, dataview yada birden fazla kullanılan bir usercontrol içindeki bir element için uygularsanız tüm aynı id ile biten divler yapılan işlemden etkilenecektir.

Backgroundworker progress changed örneği

Backgroundworker windows application yazarken yönetilmesi kolay bir multi-thread componentidir. Farklı bir thread de yapmak istediğiniz işlemleri kolay bir şekilde yapabilir, durum değişikliklerini UI thread e gönderebilirsiniz.

Örnekte 100 birimlik bir iş yapan bir kodumuz var ve progress bar ile bu işlerin ne kadarının bittiğini kullanıcıya göstermek istiyoruz.

02.06

Form üzerinde bir adet ProgressBar ve bir adet BackgroundWorker sürükleyip bırakıyoruz. Yukarıdaki gibi görünecektir.

Daha sonra formun üstüne çift tıklayıp yada Events penceresinden Form_Load ın üzerine çift tıklayıp aşağıdaki kodları yazıyoruz.


//Main Thread
private void Form1_Load(object sender, EventArgs e)
{
//Backgroundworker in başlaması için
backgroundWorker1.RunWorkerAsync();
}

Daha sonra Backround worker in Do work eventini yakalıyor ve şu şekilde yazıyoruz. (Backgroundworker üzerine çift tıklandığında gelen event)


//Backgroundworker in Thread i
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
//burda yapmak istediğimiz işlemi yapıyoruz
//örnek olarak for ile 1 den  100 e kadar rasgele bekletiyoruz.
for (int i = 0; i < 100; i++)
{
//Her birim işlem bitiminde report progress methodunu çağırıyoruz
backgroundWorker1.ReportProgress(i);
Thread.Sleep(new Random().Next(10) * 100);
}
}

Daha sonra yine Backgroundworker in ProgressChanged eventini yakalıyor ve aşağıdaki kodu yazıyoruz:


//Main Thread
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
//Progress değiştiğinde göstermek istediğimiz şekilde bunu ekrana gönderiyoruz
progressBar1.Value = e.ProgressPercentage;
}

Böylece her durum değişikliğinde çalışan progresschanged bize UI tarafında yapılan işlemle ilgili bilgi verebilmemizi sağlıyor. Bu işlemi direk Do_Work içerisinde yaparsak Cross-Thread olacağından exception verecektir.

VB.Net To Csharp Converter

Visual Basic To Csharp Converter

Visual Basic .Net ile yazılmış bir kodu Csharp a çevirmek için yapılmış bir online tool.
Ufak tefek hatalarla beraber birebir çeviri yapmak için kullanışlı bir araç.

Devexpress – AspxCloudControl Örnek

03.05

Devexpress AspxCloudControl u elimizde hazır bulunan bir cloud datasını ekrana basmak için kullandığımız bir devex kontrolüdür.

Örnekte bir blog sitesindeki tag leri aspx cloud control ü kullanarak nasıl ekrana çıkartacağımız gösterilmiştir.
İlk olarak Visual Studio yu açarak, Yeni bir Web Project oluşturuyoruz. Proje içinde; öncelikle Tag adında bir class oluşturup Name,DisplayName,Count adında üç property ekliyoruz.

Sonra default.aspx içerisine devexpress CloudControl u sürükleyip bırakıyoruz. Default.aspx.cs içerisine gelip, Yeni bir tag tipinde generic list oluşturup, içine tag elemanlarını ekliyoruz. Bu elemanların count propertylerinin birbirinden farklı olması cloud controlün görünümünü etkileyen asıl unsurdur. Daha sonra CloudControl ün TextField alanını “DisplayName” , NameField alanını “Name”, NavigateUrlField alanını “Name” , NavigateUrlFormatString alanını  “http://www.yilmazyavuz.com/yyblog/index.php/tag/{0}/” , ValueField alanını “Count” şeklinde atıyoruz. Burdaki alanlardan önemli olan TextField , ValueField ve NavigateUrlField alanları bu alanlar :

TextField : Önyüzde gösterilecek olan yazı,
ValueField: Önyüzde gösterilecek olan yazıyı boyutlandırmak için kullanılacak değer.
NavigateUrlField : Önyüzde gösterilecek olan elemanın gideceği adres yada NavigateUrlFormatString de belirtilen stringin içerisine yerleştirilecek değer.
NavigateUrlFormatString : içinde sadece {0} alanının NavigateUrlField değeriyle doldurulacağı string.Format yazımı ile aynı olan değer.

Son olarak oluşturduğumuz generic tag  listesini aspxCloudControl ün DataSource özelliğine atıyoruz, ve databind methodunu çağırıyoruz.

Böylece nurtopu gibi bir tag cloud umuz olmuş oluyor .

Örnekte anlatılanların koda dökülmüş hali aşağıdadır.

default.aspx :


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

<%@ Register Assembly="DevExpress.Web.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
Namespace="DevExpress.Web.ASPxCloudControl" TagPrefix="dxcc" %>

<!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>
<dxcc:ASPxCloudControl ID="ASPxCloudControl1" runat="server">
</dxcc:ASPxCloudControl>
</div>
</form>
</body>
</html>

default.aspx.cs :


using System;
using System.Collections.Generic;

namespace Blog.DevexTagCloud
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<Tag> myTags = new List<Tag>(10);
myTags.Add(new Tag("DevExpress",20));
myTags.Add(new Tag("Csharp",25));
myTags.Add(new Tag("Asp.Net",15));
myTags.Add(new Tag("Mono",5));
myTags.Add(new Tag("Objective-C",2));
myTags.Add(new Tag("Telerik",1));
myTags.Add(new Tag("Wcf",2));
myTags.Add(new Tag("TXTextControl",0));

ASPxCloudControl1.NameField = "Name";
ASPxCloudControl1.TextField = "DisplayName";
ASPxCloudControl1.ValueField= "Count";
ASPxCloudControl1.NavigateUrlField = "Name";
ASPxCloudControl1.NavigateUrlFormatString = "http://www.yilmazyavuz.com/yyblog/index.php/tag/{0}/";

ASPxCloudControl1.DataSource = myTags;
ASPxCloudControl1.DataBind();
}
}
}

Tag.cs :


namespace Blog.DevexTagCloud
{
public class Tag
{
public Tag(string name, int count)
{
DisplayName = name;
Name = name.ToLower();
Count = count;
}

public int Count { get; set; }
public string DisplayName { get; set; }
public string Name { get; set; }
}
}

Asp.Net form datası almak

Asp.Net de herhangi bir html form elementinin verisini server-side olarak işlemek için; elementin üzerine runat=server yazdığınızda verdiğiniz id ile server-side ulaşabilmektesiniz.

Örnek aspx :

 <input type="hidden" id="hdnGizliBilgi" runat="server" />

Csharp :

 hdnGizliBilgi.Value = "CokGizliBilgi";

Ancak runat=”server” demediğiniz form elementlerinin değerine ulaşabilmek için ; ilgili elementin name attribute ünü vermeniz gerekmektedir. Ve server-side olarak alırken içindeki değeri şu şekilde alabilirsiniz.

Örnek aspx :

<input type="hidden" name="hdnGizliBilgi"  />

Csharp:

 string gelenveri =Request.Form["hdnGizliBilgi"];
if(gelenveri == "AzGizliVeri")
Response.Redirect("http://www.google.com");
else
Response.Redirect("http://yilmazyavuz.com");

YYToolkit – XmlExporter

yytoolkit

Xml dosyalarını excel yada başka bir dosya tipine anlamlı bir şekilde çevirmek için yazdığım Xml Exporter i aşağıdaki linkten kurabilirsiniz. Programla ilgili öneri ve hata bildirimlerini bu yazıya yorum olarak ekleyebilirsiniz.

XmlExporter i indir

SqlDependency – Sürekli bildiri gönderme problemi

SqlDependency ile yaptığım ilk test te karşıma çıkan bir problemi paylaşmak istedim.

Yazdığım kod aşağıdaki gibiydi. Ancak sürekli cache yenileme bloğuna düşüyordu ve sorunu çözmek için şu adresten koşulları sağladığıma emin olmaya çalıştım, adreste yazılanlara göre herhangi bir problem görünmüyordu sonra sorgumda bulunan alanları değiştirdim, bir kaç sildim , bir kaç alan ekledim değişen bir şey yoktu. En sonunda [yy_commerce] yazan db adını sorgudan çıkardım ve sorun çözüldü.

Çalışan Sorgu:

SELECT  [oid],[TimeStamp] from [dbo].[Bilgisayar_CatalogProducts] WHERE i_ClassType = 4

Çalışmayan Sorgunun bulunduğu kod:


protected void Page_Load(object sender, EventArgs e)
{

if (HttpContext.Current.Cache["myc"] == null)
{

using (SqlConnection connection =
new SqlConnection(GetConnectionString()))
{
using (SqlCommand command =
new SqlCommand(GetSQL(), connection))
{
SqlCacheDependency dependency =
new SqlCacheDependency(command);

SqlDependency.Start(GetConnectionString());
connection.Open();
DataTable dt=  new DataTable();
SqlDataAdapter da = new SqlDataAdapter(command);
da.Fill(dt);

Label1.Text = "Cache Refresh: " +
DateTime.Now.ToLongTimeString();
HttpContext.Current.Cache.Insert("myc", dt, dependency);
}
}
}
ASPxGridView1.DataSource = HttpContext.Current.Cache["myc"];
ASPxGridView1.DataBind();
}

private string GetSQL()
{
return "SELECT  [oid],[TimeStamp] from [yy_commerce].[dbo].[Bilgisayar_CatalogProducts] WHERE i_ClassType = 4";

}

private string GetConnectionString()
{
return "server = .;Integrated security=SSPI; database=yy_commerce";
}

Garanti cep subesine bilgisayar dan girmek

Garanti musterileri bilirler cep subesi uzerinden yapilan havale eft bilimum islem icin garantinin fahis fiyat tarifesi islemez, yani ucretsizdir. Peki cep subesine girmek icin ille cep telefonundan gprs / 3g ye mi baglanmak lazim ? tabiki hayir.

Normalde bilgisayarinizdan wap.garanti.com.tr ye girmek istediginizde size soyle bir uyari verecektir.

Hata
Hata oluştu.
Cep Şubesi’ne sadece cep telefonlarından erişebilirsiniz.
<<www.garanti.com.tr

Ama bu hicbirsekilde bilgisayar uzerinden buraya erisemeyecegimiz anlamina gelmiyor. Garanti bankasi cep subesi bu hatayi vermek icin, istegi gonderen browser in UserAgent parametresini kontrol ediyor. Bizde Chris Pederick adli arkadasin firefox icin yazdigi UserAgentSwitcher eklentisini kullanarak bu sorunu cozuyoruz.

http://chrispederick.com/work/user-agent-switcher/

Eklentiyi kurduktan sonra Firefox menulerinden Tools altina, User Agent Switcher adinda yeni bir menu geliyor burdan Iphone secenegini secerek cep subesine bilgisayariniz uzerinden girebilirsiniz.

Sayfa 1 / 1212345»...Son »