Respond needs javascript to run. To find out more click here
.net Developer » Sayfa 5 » Serdar Demir
RSS
 

Asp.net kullanışlı özellikler AssociatedControlId ve HTML 5

27 Nis

Bugun makale yazma günüm galiba sürekli makale yazasım geliyor internette araştırırken gördüğüm güzel bir özelliği sizinle paylaşayım;

Formlara veri doldurmak oldukça sıkıcı bir iştir  label kontrolünün AssociatedControlId özelliğinden bahsedeceğim ayrıca HTML 5 e başlamış biri olarak ufak bir ipucu vercem :)

 

AssociatedControlId nedir ?

<asp:Label id=”label”
Text=”Kullanıcı Adı” runat=”server” AssociatedControlID=”textbox” /> <asp:TextBox id=”textbox” runat=”server” />

<asp:Label id=”label”    Text=”Kullanıcı Adı” runat=”server” AssociatedControlID=”textbox” /> <asp:TextBox id=”textbox” runat=”server” />

bu properti yaptıgı iş basit ama kullanışlı label a tıkladıgınızda o kontrolu seçilmesini saglıyor bu properti tabiki html input ta kullanmak isterseniz aşağıdaki şekilde değiştirmeniz gerekiyor.

<label id=”label” for=”textbox”>Kullanıcı Adı:</label>

Burda sundan bahsedeyim bu özellik chrome tarafından desteklenmiyor firefox ta çalışıyor belki de HTML 5 ile alakalıdır kim bilir :)

HTML 5 ve tarayıcı sorunundan bahsetmişken şunu da örnek vereyim . Aşağıdaki input html 5 ile gelen özelliklerden mesela (sırası gelince uzunca makale yazarız)

View Full Size Image

<input type=”search” /> yazdığınızda bu görüntünün oluştuğunu göreceksiniz ama bunu tarayıcı testine soktuğumuzda safari, opera, chrome da çalışıyor fakat firefox desteklemiyor henüz. Firefox HTML 5 te sınıfta kalmış gözüküyor. IE yi hiç saymıyorum zaten :)

 
No Comments

Posted in Asp.net

 

User Kontrollerinizi web.config dosyasına kaydetmek

27 Nis

Asp.net te oluşturduğunuz user controller custom controlleri projenize sürükleyip bıraktığınızda kendi otomatik bir tagprefix oluşturur. <uc:4 gib vs. fakat bazen bu sürükle bırak problem çıkartabilir şöyleki  tagı tanımayabiliyor ve üzerine geldiginizde missing tag web.config gibi bir hata veriyor. Aslında buna benzer hatalarla asp.net platformunda çok karşılaştım mesala master page e bir script manager ekliyorum ve script reference olarak scriptleri web servislerini gösteriyorum fakat cani istemeyince görmüyor :)

çeşitli taklalarla ancak tanıtabiliyorsunuz. Neyse şimdi olşuturdugunuz user control veya dll dosyasını web.config dosyamızda yer alan <system.web> düğümünde yer alan kısma  <add tagPrefix diyerek ekliyoruz burada şunu da söylemek isterim aşağıdaki örnek ajax control toolkit için ayni şekilde aldığınız 3. parti yazılımları da bu kısıma eklemeniz gerekiyor.

<pages>
<controls>
<add tagPrefix=”asp” namespace=”System.Web.UI” assembly=”System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35″/>
<add tagPrefix=”asp” namespace=”System.Web.UI.WebControls” assembly=”System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35″/>
<add tagPrefix=”act” namespace=”AjaxControlToolkit” assembly=”AjaxControlToolkit”/>
</controls>
</pages>
Şimdi bu şekilde yaptıgımızda html code tarafında da ufak bir değişiklik var

<%@ Register TagPrefix="yuhubaa" Namespace="Arama.Web.Controls"
  Assembly="Arama.Web.Controls" %>
<%@ Register TagName="Arama" TagPrefix="yuhubaa" 
  Src="~/Controls/Arama.ascx" %>

Forma ekleme kısmında da yukaridaki gibi ufak bir fark var

 
No Comments

Posted in Asp.net

 

SQL Server bağlantı zaman aşımı süresi doldu hatası Sql Pooling

27 Nis

Bugun muhasebe kayıtlarından çıkan bir hata yüzünden bütün kayıtları gğncellemem gerekti acele ile yazdıgım kod kırıldı :)

// Bağlantı oluştur
SqlConnection connection = new SqlConnection(ConnectionService.ConnectionString);
// Bağlantıyı aç
if (connection.State!=ConnectionState.Open)
{
connection.Open();
}
Yukarıdaki kod normal şartlarda problem çıkartmaz bunun altında genelde ya sql sorgusu yada store procedure çalıştırırsınız.  Ama iş büyük çaptaki verilere geldiginde ve bağlantı kopup tekrar açıldığında sql connection pool kapasitesini aşıyor ve SQL Server bağlantı zaman aşımı süresi doldu hatası alıyorsunuz. Bu sorunu düzeltmek için lock yapısını kullanayım dedim ama yine olmadı yapmanız gereken sadece kodu aşağıdaki şekilde değiştiriip Sqlconnection.ClearPool(connection) metodunu çalıştırmak .
SqlConnection connection = new SqlConnection(ConnectionService.ConnectionString);
SqlConnection.ClearPool(connection);
if (connection.State!=ConnectionState.Open)
{
connection.Open();
}
 
 
Sayfa 5 - 23012345678910...100200...Son »