2009-11-27 18 views
8

पर संपादन मोड में है या नहीं, हमारी प्रकाशन साइट्स के लिए हम SPContext.Current.FormContext.FormMode enum का उपयोग करते हैं ताकि वर्तमान पृष्ठ संपादन मोड में हो। मैंने देखा है कि यह उस टीम साइट के लिए काम नहीं करता है जिस पर मैं वर्तमान में काम कर रहा हूं। फॉर्ममोड हमेशा 'अमान्य' पर सेट होता है।यह बताएं कि पृष्ठ गैर-प्रकाशन साइट

हालांकि, जब मैं नमूना पृष्ठ पर संपादन पृष्ठ पर क्लिक करता हूं, तो पृष्ठ संपादन मोड पर स्विच करता है, इसलिए यह जानने का कोई और तरीका होना चाहिए कि कोई पृष्ठ संपादन मोड में है। तो मैं कैसे बता सकता हूं कि मैं एक टीम साइट में रहने वाले पेज के लिए संपादन मोड में हूं या नहीं?

चीयर्स। जैस।

उत्तर

8

मेरे परिदृश्य के लिए, मैंने पाया है कि मैं WebPartManager ऑब्जेक्ट का उपयोग यह पता लगाने के लिए कर सकता हूं कि वर्तमान पृष्ठ संपादन मोड में है या नहीं।

Dim wpm As WebPartManager = WebPartManager.GetCurrentWebPartManager(Page) 

result = wpm.DisplayMode.Name.Equals("design", StringComparison.InvariantCultureIgnoreCase) 

उपर्युक्त कोड मुझे सूचित करता है कि वर्तमान पृष्ठ संपादन मोड में है, क्योंकि वेबपार्ट जोन डिज़ाइन मोड में है। जब डिजाइन मोड में नहीं, DisplayMode आमतौर पर 'ब्राउज़' होगा।

+0

यह बेहतर wpm.DisplayMode.AllowPageDesign जाँच करने के लिए के रूप में यह दोनों "डिजाइन" और "संपादित करें" मामलों को शामिल किया गया है - पहला मामला वेब भाग के क्षेत्र में डिजाइन मोड में है, के दूसरे एक में अपनी वेब पार्ट्स संपादन मोड में है - दोनों मामलों से पता चलता है कि पृष्ठ संपादन मोड में है – Andrey

2

SPContext.Current.FormContext.FormMode OnInit में उपयोग नहीं किया जा सकता है; यह हमेशा अमान्य है। इसे बाद में आज़माएं; मैं इसे OnPreRender में उपयोग करता हूं, उदाहरण के लिए।

WebPartManager.DisplayMode का उपयोग यह जांचने के लिए किया जा सकता है कि संपादक क्षेत्र में कोई संपादक भाग सक्रिय है या नहीं। यह एक अतिरिक्त बात है - आपके पास पृष्ठ बिना संपादन मोड में हो सकता है। यह इस बात पर निर्भर करता है कि आप अपने परिदृश्य में क्या देखना चाहते हैं।

वैसे, तुलना के लिए केवल पढ़ने वाले सदस्यों का उपयोग करें, जैसे: wpm.DisplayMode == WebPartManager.EditDisplayMode।

--- Ferda Prantl

संबंधित मुद्दे