2012-03-20 23 views
0

我有一個ASPX文件,我在SharePoint中運行有一個GridView,我試圖導出到Excel電子表格。我知道我輸出的代碼是正確的;不過,我收到此錯誤:GridView到Excel ASPX在SharePoint

RegisterForEventValidation can only be called during Render(); 

我做了一些研究,並找到了解決辦法,這可能會在VS背後類CS的代碼,這是EnableEventValidation設置爲false創建正常ASPX頁面工作,並且當我嘗試在ASPX頁面上使用此解決方案時,出現Parser錯誤。

<%@ Page Language="C#" AutoEventWireup="true" EnableEventValidation = "false"%> 

是否有任何其他的方式來實現這一點,或者僅使用ASPX頁面的任何其他解決方法,我的問題,而後面的代碼?我所有的C#代碼都是頭腦裏的,爲了讓我能夠在我的SharePoint環境中運行它。 CS類的12個存儲單元不適合我。另外,如果可能,我不想在web.config文件夾中更改任何內容。

感謝

回答

0

嘗試創建它作爲一個Web部件 - 這是在SharePoint此類情況更常見的做法。

在SharePoint中,所有自定義頁面均通過禁止內聯代碼的安全模式解析器運行。此外,此解析器不允許將控件添加到尚未標記爲「安全」的頁面。

爲了解決您的問題,您可能需要查看添加到\ LAYOUTS目錄的「應用程序頁面」。他們引用母版頁並可以有內聯代碼,但是他們不能被自定義。他們被編譯成一個集DLL:

Creating an Application Page in Windows SharePoint Services 3.0

+0

你是正確的,但是這不會是我的選擇。我的客戶不希望這是網絡部分。這是一個大型項目的一小部分。此外,我不得不調整我的web.config文件以允許此項目的代碼塊。如果我想,我將無法將它放入網絡部分。我想我只需要解決一個CSV文件。感謝您的迴應。 – lazoDev 2012-03-20 21:17:48

+0

沒有問題。請注意,可以將Web部件設置爲「看起來不像Web部件」;-) – IrishChieftain 2012-03-20 21:21:55