Kayıtlar

'Sys' is undefined - AJAX Extensions 1.0

Ajax Enabled bir uygulamayı windows 2000 Server olan bir bilgisayarda host ettimde aşağıdaki hata ile karşılaştım. 'Sys' is undefined Hatanın çözümü için yapılabilecek bir kaç şey var. web.config'de httpHandlers nodunun bulunduğuna ve altında "ScriptResource.axd" nin aşağıdaki gibi tanımlandığına emin olun. ( httpHandlers system.web nodu içersinde bulunmalı ) <httphandlers> <add validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" path="ScriptResource.axd" verb="GET,HEAD"> </httphandlers> Eğer yukardaki düzenlemeyi yaptığınız halde sorun halen giderilmemişse bu durumda windows update'lerininden kaynaklanan bir sorun var demektir. Aşağıdaki adresteki güncellemeyi kurun. Cumulative Update for Internet Explorer 6 SP1 (KB912812) Ref : http://forums.asp.net/1/1446560/ShowThread.aspx

TextMode=Password olarak atanmış Textbox'lara deger ekleme

Bazen kullanıcıya kişisel formunu gösterirken parola alanını da düzenleme formuna ekleriz. Ancak parola alanlarında textmode=password yazıldığı için bu alanlara direk txtPassword.text = "..." şeklinde değer atamazsınız. Bu durumda kullanıcıya içerde parolası varmış gibi göstermek amacıyla txtPassword.Attributes.Add("value","parola_karakteri") şeklinde bir satır yazılır. Gösterilen rastgele bir texttir. Ve kullanıcının burayı değiştirmesi halinde password'u update edersiniz.

Gridview İçersinde tarih yada herhangi bir alanın formatlaması

Eğer bir gridview'da tarih yada herhangi bir alanın gösterimini istediğiniz şekilde formatlamak istiyorsanız <asp:boundfield datafield="Tarih_Colonunuz" dataformatstring="{0:d}" htmlencode="false" /> yapmanız yeterli olacaktır (Ondalıklı sayılar için "{0:n}" kullanılabilir). Yada <asp:boundfield datafield="Tarih_Colonunuz" dataformatstring="{0:dd/mm/yyyy}" htmlencode="false" /> şeklinde de istediğiniz formayı özellikle belirtebilirsiniz. Tüm Tarih Formatları

Datasource'u olan bir DropDownlist'e ListItem Eklemek

Eğer dropdownlist'i doldururken uğraşmamak için sqldatasource kullanmışsanız, yada kod içersinden oluşturduğunuz bir datatable'ı dropdownlist'e source olarak vermişseniz bu durumda dropdownlist'e yeni bir item eklemek için dropdownlist'in "AppendDataBoundItems" property'sini true yapmanız gerekiyor. <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="Text_Field_Adi" DataValueField="Value_Field_Adi" AppendDataBoundItems="true"> <asp:ListItem Text="Seçiniz" Value="0" /> </asp:DropDownList>

Girdview'da sorting yapmak ..

Eğer gridview'da datasource'u sql datasource yada object datasource gibi bir nesne kullanıyorsanız sorting için extra bir şey yapmanıza gerek kalmayacaktır. Sadece kolonları tanımlarken sortexpression alanına data sourcedaki kolon adını yazmak yeterli olur. Ancak eğer datasource'u runtime da oluşturup set ediyorsanız bu durumda kolonlarda sıralama biraz uğraşmanız gerekecek. Protected Sub GridView1_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Dim VarolanDeger As String = Me.ViewState("Sort") Dim YeniDeger As String = e.SortExpression Dim EskiDeger As String = ViewState("Sort") Dim AscDesc As String = "" If Not VarolanDeger Is Nothing AndAlso (EskiDeger.IndexOf(YeniDeger) >= 0) Then If (EskiDeger.IndexOf(" ") AscDesc = "DESC" Else AscDesc = EskiDeger.Substring(EskiDeger.IndexOf(" ") + 1) If (AscDesc = "ASC") Then AscDesc = "DESC" Else AscDesc = ...

Gridview'da saklı kolonlardan değer alabilmek ..

Eğer sayfanızda girdview kullanıyor ve buradaki bir kaç kolonun değerini saklayıp sonradan erğişebilmek istiyorsanız bunun yollarından birisi şudur. Normalde bu durumlarda genellikle gridview'daki kolon üzerinde visible="False" denir <asp:BoundField DataField="Alan_Adi" Visible="false" /> Bu durumda gridview'da bu alan için binding gerçekleşmediği için değerine erişilemez. Bunun yerine yapılması gereken alanı tanımlarken <asp:BoundField DataField="Alan_Adi" /> şeklinde tanımlayıp, girdview'ın rowcreate anında o hücreyi gizlemektir. Protected Sub GRVDATA_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) if e.Row.RowType = DataControlRowType.DataRow orelse e.Row.RowType = DataControlRowType.Header then e.Row.Cells(0).Visible = False end if End Sub

System.Web.HttpException: Request timed out

Default olarak asp.net sayfalarında herhangi bir işlem için, machine.config'de tanımlanmış maximum ( ExecutionTimeout ) süre 90 saniyedir. Eğer herhangi bir işlem 90 saniyeden fazla sürerse System.Web.HttpException: Request timed out hatası döner. Bunu değiştirmek iki yol var. Birincisi machine.config üzerinde bu değişikliği yapmak (ki bu değişiklik tüm IIS üzerinde host edilen uygulamalar için geçerli olacaktır), ikinci yol ise web.config de uygulamanıza has olarak bunu yapmak. Web.config de ExecutionTimeout değerinin belirlenmesi. <configuration> <system.web> <httpRuntime executionTimeout="90" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" /> </system.web> </configuration> Burada executionTimeout attribute'u için istediğiniz süreyi belirleyebilirisiniz. machine.config üzerinde ExecutionTimeout de...