(我認爲,這既適用於普通的ASP.NET Web部件和SharePoint託管Web部件)如何從一個Web部件內停止頁面執行
Web部件有一個「出口」按鈕呈現輸出爲csv並設置相應的標題,以便在Excel中打開它。
掛鉤的按鈕單擊事件,清除反應,加入適當的標題和內容類型是微不足道的 - example
不過,我已經注意到,如果這個代碼添加到Web部件和調試器附着那麼如果在頁面上有這個(或任何其他)Web部件的多個實例,然後既不是HTTPApplication.CompleteRequest或Response.End停止處理/頁面生命週期,並且所有頁面控件的所有事件仍然觸發。
這個例子很浪費,因爲其他Web部件不需要運行 - 他們所做的任何事情都不會得到響應。
任何阻止其他Web部件被渲染的方法?
這將工作,幾乎肯定是大多數情況下去的方式 - 但在這種情況下,我有Web部件連接提供一些數據(在渲染階段之前的方式),我會失去該上下文。我的解決方法是在OnPreRender中將所有Page.Controls []。設置爲false,至少停止RenderWebPart等的運行。 – Ryan 2011-03-22 19:27:15
您可以在新窗口中打開鏈接,這樣您就不會離開頁面。任何必要的數據都可以通過查詢字符串傳遞或存儲在會話變量中。 – 2011-03-22 20:01:57