geliştirdiğiniz arayüzlerde parabirimi konusunda kullanıcılar ayıraç olarak “.” mı ? “,” mü ? kullanacaklarını hep karıştırırlar. bunu önlemek için ya bu işaretlerden girilmesini istemediğimizi kısıtlarız , bu alanın yanlarına bir açıkla ekleriz lütfen ayıraç için şu ifadeyi kullanın şeklinde. Bu kullanım aynı zamanda sizin geliştirdiğiniz ordamda bilgisayarınız bölgesel ayarlarına görede değişebilir , eğer uygulamanızı kullanan , yada uygulamanızın taşındığı ortamda bölgesel ayarlar aynı değil ise problem oluşturabilir. bunu önlemek için sistemin bölgesel ayarlarında kullanılan ayıraç ifadesi eğer girilen ifadede yok ise , diğer ayıracı buna dönüştürebiliriz. örnek olarak
C#
double birimTutar = 0;
Double.TryParse(txtBirimTutar.Text.Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator,
System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator),
out birimTutar)
bu kod blogunda grup ayıracı var ise bunu ondalık ayıracına dönüştürebiliyoruz.
js kodumuz
<SCRIPT language=JavaScript>
function ClipboardaKopyala(icerik) {
if (window.clipboardData && clipboardData.setData) {
clipboardData.setData(‘text’, icerik);
}
}
</SCRIPT>
html kodumuz
<a href=”#” id=”copy” onclick=”ClipboardaKopyala(document.getElementById(icerik).innerHTML)”>Clipboard’a Kopyala</a>
<div id=”icerik”>
deneme kopyalama içeriği
http://www.tahirmutlu.com
</div>
ASP.NET DropDownList Doldurma işlemini bir xml den datasete veri aktararak anlatmaya çalışacağım. App_Data klasörü altında bulunan firmaList.xml dosyasındaki firma isimlerini dropdown liste dolduruyor olacağız. DropdownList imizin adı : ddlSirketler
.cs
DataSet dsSirketler = new DataSet();
dsSirketler.ReadXml(HttpContext.Current.Server.MapPath(“~/App_Data/firmaList.xml”));
ddlSirketler.DataSource = dsSirketler.Tables[0];
cbxSirketler.DataTextField = “text”;
cbxSirketler.DataValueField = “value”;
xml dosyamız
<?xml version=”1.0″ encoding=”utf-8″ ?>
<firmalar>
<firma>
<text>Firma 1</text>
<value>firma1</value>
</firma>
<firma>
<text>Firma 2</text>
<value>firma2</value>
</firma>
</firmalar>
asp.net ajax uygulamanızda CalendarExtender ile ilgili konum problemi yaşıyorsanız , CalendarExtender ile textbox nesnenizi aynı div içerisine alarak bu problemi ordatan kaldırabilirsiniz.
<div id=”takvim” runat=”server” style=”position:relative;” >
| <asp:TextBox ID=”txtTarih” runat=”server” /> |
<ajaxToolkit:Calendar runat=”server”
TargetControlID=”txtTarih”
Format=”dd.MM.yyyy”
/>
</div>
asp.net uygulamanız içinde ki dropdownlistinize yeni bir eleman (option) eklemek istediğinizde , bunu window.open() ile açacağınız yeni bir pencere ile gerçekleştirmek istiyorsanız , açılan pencerede kaydet butonuna close_form() adında bir javascript fonksiyonu ile eşleştirip bu fonksiyon içierisine aşağıdaki kod blogunu yazarak ana sayfadaki drıpdownlist nesnesine erişerek ekleme işlemini gerçekleştirebilirsiniz.
<script>
function close_form()
{
try {
var opt = new window.opener.document.createElement(“option”);
window.opener.document.getElementById(‘dropdownlist_subeler’).options.add(opt);
opt.text = document.getElementById(‘txt_subeler’).value;
opt.value = document.getElementById(‘txt_subeler’).value; window.close();
}
catch(err)
{
alert(err);
}
}
</script>
projenizde yer alan gridview nesnenizde BoundField Column width özelliğini belirlemek için ItemStyle-Width özelliğini kullanabilirsiniz.
örn:
<asp:BoundField DataField=”ACIKLAMA”
HeaderText=”Açıklama”
SortExpression=”ACIKLAMA” ItemStyle-Width=”200px” />
Web servisler üzerinde çalışırken , aldığım bir hatanın nerede olduğunu gözlemlemek için debug mode da projeyi açmak istediğimde karşıma çıkan hata mesajı ile aşağıdaki gibi
“Unable to start debugging on the web server. Debugging failed because integrated Windows authentication is not enabled. Please see Help for assistance”
Çözümü :
1. IIS(Internet Information Server)’i açın
2. Web Site’a sağ tıklayın ve Properties(Özellikler)sekmesini seçin
3. Directory Security(Dizin Güvenliği) sekmesini seçin ve “Anonymous access and
authentication control” ü seçin
4. Açılan pencerede “Enable Anonymous access” checkbox’ının tik’ini kaldırın ve
“Integrated Windows Authentication” checkbox’ını tik’lyin.
4 . adımı yaptıktan sonra da baktım ki debug ta sorun yok ama bu seferde servisi kullanan uygulama erişemiyor. bu yüzden 4. adımda “Enable Anonymous access” ifadesininde seçili olmasını sağlayın.
Geliştirdiğiniz web servisinde veri tabanı ile ilişki işlemleriniz var ise , servisinizi kullanmak istediğinizde “Login failed for user ‘NT AUTHORITY\NETWORK SERVICE’.” hatası ile karşılaşıyorsanız
SQL Server üzerinde ilgili veritabanındayken New Query tılyayıp alttaki sorguyu çalıştırın.
sp_grantlogin ‘NT AUTHORITY\NETWORK SERVICE’
Sonra da security altındaki – users bölümünde ‘NT AUTHORITY\NETWORK SERVICE‘ kullanıcısının üzerinde sağ tıklayıp properties seçerek Role Members kıısmından veritabanınız için gerekli (db_datareader, db_datawriter gibi) yetkileri verirseniz hatadan kurtulabilirsiniz.
SQL Server Reporting Services kullanırken tablix ‘ inize uygulamak istediğiniz filtrede parametre olarak aldığınız bir değer ile datasetinizde bulunan bir alan ile karşılaştırmak istiyorsanız ve bu alan içerdiği değere göre değişiyorsa basit bir şekilde düzenleyebiliyoruz.
senaryo : parametre olarak bir bitiş tarih değeri alıyorsunuz. Karşılaştırmak istediğiniz datasetteki alanda işin bitiş tarih alanı ama , eğer iş bitiş tarihi boş ise iş gözden geçirme tarihine göre filtrelemek istiyorsunuz. Tablix ‘inizin filters bölünende Expression yazan bölümün yanındaki fx i tıkladığınızda açılan pencerede koşula göre alan getirebiliyorsunuz.

açılan pencereye
=iif(Fields!bitis_Tarihi.Value Is Nothing , Fields!GozdenGecirme_Tarihi.Value , Fields!bitis_Tarihi.Value)
ifadesini ekliyoruz. bu sayede bitiş tarihi alanı boş gelmesi durumunda Gözden geçirme tarihi alanına göre karşılaştırma yapacaktır. Operator bölümünde karşılaştırma ifademizi seçiyoruz. Value bölümünde istersek parametre değer istersek sabit değer de vererek karşılaştırma yapabiliriz.
Son Yorumlar