Category Archives: .Net

JQuery ile tablodan satır silmek

JQuery ile html tablodan satır silmenin en basit metodu:

  Aşağıdaki gibi bir tablonuz olduğunu varsayalım.

Ad Soyad  
Recep Güzel Remove
Ali Veli Remove


Tabloyu cshtml üzerinde yaratırken Modelden gelen bir listeyi kullanalım:
 
<table id="MusteriListe" border="1">
    <thead>
        <tr>
            <th>
                Ad
            </th>
            <th>
                SoyAd
            </th>
           
            <th>
            </th>
        </tr>
    </thead>
    <tbody>
            <tr>
                <td>
                    @item.Ad
                </td>
                <td>
                    @item.Soyad
                </td>
                <td>
                    <img id="imgDelete" alt="Remove" src="/Content/images/remove.png" onclick="deleteRecord(this);" />
                </td>
            </tr>
        
    </tbody>
</table>
 
imajımızın onClick eventine  deleteRecord(this) diyerek deleteRecord fonksiyonuna img nesnesini gönderiyoruz.
 
deleteRecord Fonksiyonunu da aşağıdaki gibi yaratıyoruz:
 
function deleteRecord(x) 
{
   $(x).parent().parent().remove();   
  //delete nesnesinin(<img>) parenti TD, onun da parent i TR dir. soldaki kod ilgili satırı(TR) siler.
}
 
ve satırımızı başarıyla silmiş bulunuyoruz 🙂 
 

Getdate() with LINQ or Entity / LINQ veya Entity ile Getdate() nasil cekilir?

EN:
Sometimes we need to use getdate() function instead of DateTime.Now. Because with getdate() we can get current date with correct format.

To be able to use Getdate() function from LINQ query you should create a view in SQL server.

Just Copy the query in the View and save as "GetDBdate".

SELECT     GETDATE() AS DBDate

Now you should update your Entity or DBML (add the view).
and write a LINQ query like below:

Convert.ToDateTime(db.GetDbDate.First().DBDate) 

TR:
Eğer LINQ/Entity sorgularında getdate() fonksiyonunu kullanmamız gerekiyorsa db de yeni bir view yaratmanız yeterli olacaktır :
Yeni bir view yaratın, Aşağıdakı query'i kopyalayın ve "GetDBDate"
 ismiyle kaydedin

 SELECT     GETDATE() AS DBDate

Şimdi Entity veya DBML inizi güncelleyin, yeni view i  de ekleyin

ve aşağıdaki gibi bir LINQ sorgusu yazın:

Convert.ToDateTime(db.GetDbDate.First().DBDate) 
 
 

Meta tag kullanarak IE8 den IE7 uyumlu modda calismasini istemek / work with with meta tags

Merhaba,

Web yazılımı geliştirirken karşımıza çıkan en büyük problemlerden biri de uygulamamızın diğer tarayıcılarda düzgün görünmemesidir. Şimdiye kadar çıkmış bütün browserlarla uyumlu bir yapı kurduğunuz düşünüyorsunuz ve birden bire öğreniyorsunuz ki Internet Explorer 8 çıkmış ve web sayfanızı bambaşka bir şekilde gösteriyor. Yine saatlerce uğraşıp IE8'de de düzgün çalışsın diye uğraşacaksınız belki de bazı fonksiyonlardan / özelliklerden de vaz geçmek zorunda kalacaksınız. 
Bu durumdan en ucuz şekilde kurtulmanın yolu (geçici bir çözüm yolu olsa da) aşağıdaki gibi bir meta tag yazarak browserın IE7 uyumlu modda çalışmasını sağlamaktır.

Not:Aşağıdaki metaları bütün stil ve css lerin üzerinde bir yere yazmanız gerejiyor. <head> tagından hemen sonra yazmanız yararınıza olacaktır.


IE5 ile uyumlu çalışması için:
<meta http-equiv="X-UA-Compatible" content="IE=5"> 

IE7 Uyumlu kipi çalıştırmak için:

<meta http-equiv="X-UA-Compatible" content="IE=7"> 

IE8 in uyumlu çalıştığından emin olmak için (burada IE7 emule edilmiş oluyor):

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>  

 

VS2005 AspNet web projelerini debug etmiyor

Merhaba,

Geçenlerde eski projelerden birine bakmam gerekti. VS2005 ile yazılmıştı ve ufak bir düzeltme gerekiyordu. Projeyi açabiliyorum ancak internet explorer ile açılış sayfası açılır açılmaz debug stop oluyordu, dolayısıyla breakpoint vs. hak getire:)

Neyse ufak bir araştırma sonucu düzelttim. Tek yapmam gereken şey IIS içinde projenin virtual directorysini bulup asp debugging özelliğini enable etmek oldu. Gerçi normalde böyle bir işlem yapmaya gerek yok ama olur da aynı problemi yaşarsanız aşağıdaki adımları uygulamanız gerekiyor.


  1. IIS üzerinde virtual directory özelliklerine girin
  2. Virtual Directory tabı altındaki Configuration butonuna tıklayın
  3. Debugging Tabına tıklayın
  4. Enable ASP server-side script debugging ve Enable ASP client-side script debugging checkboxlarını checkleyin
  5. Tamam deyip nolur ne olmaz IIS i restart edin.
  6. bu kadar! Umarım işinize yarar…



LINQ Sorgusu içinde IF kullanmak ya da IF kullanmaya gerek yok mu?

Merhaba,

LINQ ile çalışırken zaman zaman karmaşık sorgular oluşturmamız gerekebiliyor ve doğrudan halledemeyeceğimiz durumlar oluşabiliyor.
Bugün bu durumlardan biri başıma geldi basit bir örnekle anlatmaya çalışacağım.

Source adında bir tablomuz olduğunu varsayalım. Bu tablo içinde OID,Name,startdate,enddate ve SourceType adında 2 alanımız olsun.
Bir Dropdown koyalım ve içine bütün source Typelarını koyalım. ( 3 tanse SourceType olduğunu varsayalım). bir de name'i yazabileceğimiz textboxumuz olsun(txtSearchString).
Bir gridview içinde Tipi dropdownda seçilmiş Tipe uyan bütün sourceları göstermeye çalışalım.
Bunu yapmak için aşağıdakine benzer bir sorgu hazırlamamız gerekir.

var sourceData = from s in dc.Sources
where s.SourceTypeID == int.Parse(ddlSourceType.SelectedValue)
&& s.Name.Contains(txtSearchString.Text)
orderby s.Name
select new
{
OID = s.OID,
SourceName = s.Name,
StartDate = s.StartDateSubscription,
EndDate = s.EndDateSubscription
};



Peki Dropdown'a 1 kayıt daha ekleyelim ismi "Hepsi" olsun ve değerini "0" yapalım.
Şimdi dropdownda "Hepsi" seçildiğinde Hiç sourceType alanına bakmadan sadece source ismi txtSearchString'e yazılan değerle uyuşan kayıtları getirmeye çalışalım.

Ne yapmamız lazım? evet evet buldum!! Hemen sorgunun başına bir IF koyalım ve sourceData sorgusundan bir tane daha yaratalım ama bu sefer içine sourceType alanına baktırmayalım else durumuna da yazarız yine SourceType alanına bakandan:

var sourceData="";

IF (ddlSourceType.SelectedValue == "0")
{

sourceData = from s in dc.Sources
where s.Name.Contains(txtSearchString.Text)
orderby s.Name
select new
{
OID = s.OID,
SourceName = s.Name,
StartDate = s.StartDateSubscription,
EndDate = s.EndDateSubscription
};
}
else
{
sourceData = from s in dc.Sources
where s.SourceTypeID == int.Parse(ddlSourceType.SelectedValue)
&& s.Name.Contains(txtSearchString.Text)
orderby s.Name
select new
{
OID = s.OID,
SourceName = s.Name,
StartDate = s.StartDateSubscription,
EndDate = s.EndDateSubscription
};

}


Evet evet istediğimiz yaptık. Ne olacak kopyalarız yapıştırırız her seferinde, taş attık da kolumuz mu yoruldu dimi?
HAYIR yorulmadı ama bu kadar uğraşmadan da bunu yapabilirdik.

Amacımız ne? Eğer dropdown'un değeri "0" ise SourceTypeID'ye bakmadan ne varsa getirmek.
şöyle bir sorguyla bunu halledebiliriz:



var
sourceData = from s in dc.Sources
where
(s.SourceTypeID == int.Parse(ddlSourceType.SelectedValue) || ddlSourceType.SelectedValue=="0")
&& s.Name.Contains(txtSearchString.Text)
orderby s.Name
select new
{
OID = s.OID,
SourceName = s.Name,
StartDate = s.StartDateSubscription,
EndDate = s.EndDateSubscription
};

where içinde sourceType ı kontrol ettiğimiz sözcüğün başına sonuna parantez ekleyip parantezin içine ||(or) yazıp yanına da condition'u yazıyoruz.

Yine dolandırıp dolandıp anlattım galiba. Umarım işinizi görür ve umarım yazıyı toparlamak için vakit bulabilirim…