Hata mesajını alma hikayemiz şöyle. Web uygulamamızda SharePoint:SPGridView üzerinde <asp:ButtonField nesnesi yardımı ile belirleyeceğimiz bir dosyayı yeni pencerede açmaya çalıştık ve gridimiz updatepanel içerisinde . Dosya açma örnek kodu :

// .ascx bölümü
<SharePoint:SPGridView runat=”server” CssClass=”ms-formbody” ID=”grid_verigoster” AutoGenerateColumns=”false” >
<asp:ButtonField Text=”DosyayiAc” CommandName=”dosyaac” buttontype=”Link”/>
</SharePoint:SPGridView>

// .ascx bölümü
// .cs bölümü

void grid_Selected_RowCommand(object sender, GridViewCommandEventArgs e){
if (e.CommandName == “dosyaac”)
{
string deneme = “
http://www.denemesayfa.com/DosyaKalem/40/test.xls“;
            Response.Write(“<script>”);
            Response.Write(“window.open(‘” + deneme + “‘)”);
            Response.Write(“</script>”);

}
}

// .cs bölümü
bu şekilde uygulamayı çalıştırdığımız da hata mesajı ile karşılaştık.

Çözüm
çözüm için </asp:UpdatePanel> dan önce PostBackTrigger eklemeniz yeterli olacaktır.

<Triggers>
           <asp:PostBackTrigger ControlID=”Button1″ />
        Â
</Triggers>
    Â
</asp:UpdatePanel>

Sharepoint te özelleştirdiğiniz kaydetme fonksiyonunda o anda eklemekte olduğunuz  elemanın ID sini alıp ona göre işlem yapmak istiyorsanız ListItem.ID den yararlanabilirsiniz.

protected override bool SaveItem()
{
      ......
     // kaydetme incesi yapılacak işlemler    

    bool sonuc= base.SaveItem();  // kaydetme iÅŸlemi

    // kaydetme sonrası yapılacak işler
      ......
    int eklenenElemanID = ListItem.ID; // Bu ID yardımı ile eklediğiniz eleman ile ilişki diğer işlemlerinizi gerçekleştirebilirsiniz.
}
© 2010 bilyaz.com , Programlama Makaleleri, Yazılım Makaleleri , Örnek Kodlar , EÄŸitim Videoları , C#,ASP.NET,SQL,PHP Suffusion WordPress theme by Sayontan Sinha