13 Temmuz 2011 Çarşamba

Sharepoint 2010: Cannot complete this action. Please try again.

Sharepoint 2010'da Silverlight web part geliştirdiniz. Uygulamanız sırasında liste işlemleri yaparken sürekli bu hatayı alıyorsunuz;

Cannot complete this action. Please try again.

Hatanın nedeni %99 kullandığınız CAML query'den kaynaklanıyor. Kontrol edin. Ama insan evladı hata yapmaya çok meyillidir, özellikle konu CAML olduğunda :) Bu nedenle siz en iyisi U2U'nun ücretsiz Caml Builder tool'unu indirin, rahat edin.

Tool bile kullansanız CAML query hazırlarken dikkat etmeniz gereken önemli bir nokta var. O da View tag'leri. Sorgunuzu tool'da hazırladıktan sonra size en dışta Query tag'leri olan bir sorgu verir.
CamlQuery query = new CamlQuery();
query.ViewXml = String.Format(@"<Query><Where><Eq><FieldRef Name='ID' /><Value Type='Counter'>1</Value></Eq></Where></Query>");
Bunu Client Object Model çağrılarında direkt kullanamazsınız. Bu sorgunun başına ve sonuna taglerini eklerseniz sorgunuz kullanıma hazırdır.
CamlQuery query = new CamlQuery();
query.ViewXml = String.Format(@"<View><Query><Where><Eq><FieldRef Name='ID' /><Value Type='Counter'>1</Value></Eq></Where></Query></View>");
Bir dikkat etmeniz gereken nokta da tool'un verdiği sorguda çift tırnaklar bulunmasıdır. Bunu kod tarafına yapıştırırken çift tırnak yerine tek tırnak kullanmanız gerekmekte (içerik string olduğu için ).

Bunlara dikkat ederseniz sorgu hatalarınız minimuma inecektir ;)

Kolay gelsin,


Hiç yorum yok: