SharePoint 2010 - SPD 2010 ile Server–Side Kod Yazmak

SharePoint Designer 2010 ile cs ya da vb kod yazamıyorum. Ne yapmam gerekiyor? Sad smileCEVAP: Aşağıdaki yazıyı okuman sana yardımcı olabilir. Smile

SharePoint 2010 ile basit web sayfalarını en rahat oluÅŸturabileceÄŸimiz ve master page birlikteliÄŸini saÄŸlayabilceÄŸimiz en baÅŸarılı uygulama SharePoint Designer 2010 (SPD 2010) uygulamasıdır. Bu sebepten ötürüdür ki SharePoint 2010 ‘u eline alan uygulama geliÅŸtiricilerin büyük bir çoÄŸunluÄŸu root klasöre de eriÅŸebilme özelliÄŸi sebebi ile yeni bir sayfa v.b. eklemek istediklerinde bu uygulamayı kullanırlar. Evet kesinlikle kabul ediyorum en hızlı Asp.Net sayfa oluÅŸturup yayınlayabileceÄŸiniz uygulamadır. Ancak Server-Side kod yazarken yani Event yakalayıp o esnada bir iÅŸlem yaptırtmak istediÄŸimiz zamanlarda biraz sıkıntılı bir yanı vardır. Bu yazımızda sıkıntılı yanı nasıl aÅŸabileceÄŸimize deÄŸinmeye çalışacağız.

 

Öncelikle SPD 2010 üzerinde SitePages kısmına gelip web sayfası oluşturuyor sonraısında ise arka planda otomatik oluşmuş kod parçasına göz atıyoruz.

 

Kod kısmının görünümü ise aşağıdaki gibidir.

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"</a>>
<%@ Page Language="C#" %>
<html dir="ltr" xmlns="<a href="http://www.w3.org/1999/xhtml"">http://www.w3.org/1999/xhtml"</a> xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882">

<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<head runat="server">
<meta name="WebPartPageExpansion" content="full" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled 1</title>

<!--[if gte mso 9]>
<SharePoint:CTFieldRefs runat=server Prefix="mso:" FieldList="FileLeafRef,WikiField,_dlc_DocId,_dlc_DocIdUrl,_dlc_DocIdPersistId"><xml>
   
<mso:CustomDocumentProperties>
<mso:_dlc_DocId msdt:dt="string">WM56YMSTHXCT-11-5</mso:_dlc_DocId>
<mso:_dlc_DocIdItemGuid msdt:dt="string">e2f62402-89fd-4320-9663-f86e1492ee1a</mso:_dlc_DocIdItemGuid>
<mso:_dlc_DocIdUrl msdt:dt="string"><a href="http://turhal-pc/test/_layouts/DocIdRedir.aspx?ID=WM56YMSTHXCT-11-5">http://turhal-pc/test/_layouts/DocIdRedir.aspx?ID=WM56YMSTHXCT-11-5</a>, WM56YMSTHXCT-11-5</mso:_dlc_DocIdUrl>
</mso:CustomDocumentProperties>
</xml></SharePoint:CTFieldRefs><![endif]-->
</head>

<body>

<form id="form1" runat="server">
</form>

</body>

</html>

 

Sayfanın SharePoint şablonlarını saymazsak Asp.Net sayfası olduğunu gözlemleriz. Bu durumda eski bilgilerimizi aklımıza getirelim. Eğer ki asp.net sayfada kod dosyası kullanma şansımız yoksa aspx sayfaya server-side kod için script ekleyip metot v.b. kod parçalarını bu kısma ekliyorduk. O zaman şimdi bu yöntem ile sayfayı düzenleyip ve Page_Load olayını tetikleyen ufak bir kod parçası yazalım.

 

<script runat=”Server” >

protected void Page_Load (object sender, EventArgs e)

{

    form1.InnerHtml = “<h1> Merhabaaa </h1>”

}
</script>

 

Bu değişikliği kaydedip publish ettiğimizde source kodun içerisinde server-side kod kullanamayacağımızı açıklayan bir hata alırız. Peki bu durumda ne yapmamız gerekiyor. Aslında işlem basit. Web.config içerisinde SharePoint tarafında aspx sayfalarının içerisinde Server-Side kullanımı engelenmiştir. Bizim yapmamız gereken bunu aktif duruma getirmek olacaktır.

 

Web.Config dosyasının içerisinde configuration/SharePoint/PageParserPath bölümüne gelip aşağıdaki kod parçasını ekliyoruz.

 

<PageParserPaths>

    <PageParserPath VirtualPath=”test/SitePages/Article_Page.aspx” CompilationMode=”Always” AllowServerScript=”True” />

</PageParserPaths>

 

Evet işlem sadece bu kadar. Değişiklik sonrasında sayfanızı sorunsuzca kullanmaya başlayabilirsiniz. Ancak bu yazıyı okuduktan sonra aklınıza şu tür sorular gelebilir. Evet bu şekilde sayfayı çalıştırdık. Ancak benim 100 tane sayfam var hepsi içinde mi bu yöntemi kullanmalıyım. Hepsine bir arada seçebileceğim bir teknik yok mudur?

Cevabı ise hayır yoktur olacaktır. SharePoint 2010 genel anlamda eÄŸer ki Server-Side kod geliÅŸtirmek istiyorsanız bunu Visual Studio içerisinde yapmanız gerekmektedir der. Bu sebeple bu kadar çok sayfanız var ise yapılması gereken VS2010 uygulamasında SharePoint Module ‘ler geliÅŸtirip web sayfalarını onun üzerind en taşımak olacaktır. Hayır bunu istemiyorum derseniz ise tek tek sayfanızın sunucu da olduÄŸu yer bilgisi ile birlikte eklemeniz gerekecektir.

 

Umarım yararlı olmuştur.

Yorum Gönder

0 Yorumlar

Ad Code

Responsive Advertisement