c# - IIS में तैनात किए जाने पर TreeView नियंत्रण के नोड्स पर चेकबॉक्स दिखाई नहीं देता है




asp.net iis-7 (3)

मुझे TreeView नियंत्रण के संबंध में समस्या का सामना करना पड़ रहा है। मेरे पास TreeView नियंत्रण के नोड्स के लिए चेकबॉक्स सक्षम है। यह ठीक काम कर रहा है और ठीक से दिखा रहा है। लेकिन जब मैं आईआईएस में तैनात करता हूं, तो चेकबॉक्स वहां दिखाई नहीं देता है। यह बिल्कुल प्रस्तुत नहीं किया जाता है। नीचे TreeView :

<asp:TreeView id="tvExplicit"
        EnableClientScript="true"
        PopulateNodesFromClient="true"  
        ExpandDepth="0" 
        ShowLines="true" 
        ShowExpandCollapse="true"
        ShowCheckBoxes="Root"
        OnTreeNodePopulate="tvExplicit_TreeNodePopulate"
        Width="1px"
        runat="server">

    <Nodes>
    </Nodes>

  </asp:TreeView> 

यह कोड मेरी स्थानीय मशीन पर ठीक काम कर रहा है। लेकिन जब आईआईएस पर तैनात नहीं किया गया। रूट नोड्स के लिए चेकबॉक्स को छोड़कर सबकुछ काम करता है।

नोट : चेकबॉक्स को HTML के रूप में प्रस्तुत नहीं किया जाता है। तो यह मेरे अनुसार इसे अवरुद्ध सीएसएस नहीं है

अद्यतन : मैं यह समझने में सक्षम था कि पेज के पिछले संस्करण को आईआईएस में कैश किया गया है और एपीपी पूल रीसेट होने के बाद भी रीसेट नहीं किया जा रहा है।

दूसरा अपडेट : लोकलहोस्ट में चेकबॉक्स का क्लाइंट आईडी ctl00_MainContent_tvExplicitn0CheckBox चेकबॉक्स, ctl00_MainContent_tvExplicitn1CheckBox , आदि है। तो क्या यह इस मुद्दे का कारण हो सकता है। एक और बात जो मैंने देखी है वह क्लाइंट आईडी के स्थानीयहोस्ट में नियंत्रण के लिए जेनरेट किया गया है और आईआईएस में तैनात सर्वर में अंतर है। नीचे दिया गया है <a> जो दोनों में वृक्षदृश्य नियंत्रण का हिस्सा है:

  1. आईआईएस: MainContent_tvExplicitt0 , MainContent_tvExplicitt1 यह MainContent_tvExplicitt1 नोड लिंक की आईडी है
  2. ctl00_MainContent_tvExplicitt0 : ctl00_MainContent_tvExplicitt0 , ctl00_MainContent_tvExplicitt2 , आदि

तो क्या मुद्दा इस बात से संबंधित हो सकता है कि मेरे स्थानीयहोस्ट और आईआईएस सर्वर जैसे विभिन्न परिवेशों में वास्तव में नियंत्रण कैसे किया जा रहा है। लोकहोस्ट में, .Net 3.5 framework और आईआईएस सर्वर में .Net 4 । तो ऐसा इसलिए हो सकता है क्योंकि client ID पीढ़ी दोनों संस्करणों में अलग है।

तीसरा अपडेट इसके अलावा, मैंने localhost में फ्रेम .net 4 संस्करण को .net 4 में बदल दिया, लेकिन इसने इस controlRenderingCompatibilityVersion="3.5" पुन: पेश नहीं किया। यह भी web.config में controlRenderingCompatibilityVersion="3.5" । तब मैंने आईआईएस को एक ही कोड तैनात किया, और मुझे एक त्रुटि मिली जो controlRenderingCompatibilityVersion एक वैध टैग नहीं है। क्या इसका मतलब है कि IIS सर्वर .net 4 पर नहीं चल रहा है। मुझे आईआईएस सर्वर तक पहुंच नहीं है।

चौथा अद्यतन: आईआईएस में .net 4 संस्करण के साथ एप्लिकेशन कॉन्फ़िगर किया गया है।

5 वें अपडेट मैंने अलग-अलग मशीनों पर एक और आईआईएस सर्वर पर एक ही बिल्ड को तैनात किया (ये हमारे पुराने सर्वर थे जिन पर हमारा एप्लिकेशन चल रहा था)। और उस पर चेकबॉक्स दिखाई दे रहे हैं। .NET ढांचे का संस्करण एक जैसा सामना करने वाले मुद्दों पर समान है। प्रासंगिक टीम से इन सर्वरों में सर्वर पर उन सेटिंग्स को अपडेट करने के लिए कहा गया जिन पर समस्या का सामना करना पड़ रहा है। फिर भी यह मदद नहीं की। इसलिए, ऐसा लगता है कि वेबसाइट को नए सर्वर पर कैसे कॉन्फ़िगर किया गया है जहां चेकबॉक्स दिखाई नहीं दे रहे हैं


अपने IE \ tools \ Compatibilty देखें पर जाएं सेटिंग में अपना यूआरएल जोड़ने के लिए सेटिंग सेट करें और दबाएं, फिर अपने वेबपृष्ठ को दोबारा लोड करने का प्रयास करें।

आशा करता हूँ की ये काम करेगा

सादर


कभी-कभी आईआईएस आपके स्थानीय संस्करण की तुलना में IE के एक अलग संस्करण के लिए कॉन्फ़िगर किया गया है, इससे कुछ संगतता समस्याएं हो सकती हैं।

मैं हमेशा अपने एचटीएमएल फाइलों में अपने मुख्य तत्व में निम्नलिखित जोड़ता हूं:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

यहां अधिक जानकारी है:

https://msdn.microsoft.com/en-us/library/jj676913(v=vs.85).aspx


अभी तक कोई जवाब नहीं है , छवियों को दिखाने के लिए , मैंने कोशिश की है, इस कोड को एएसपीएक्स में इस्तेमाल किया है: (मैंने आईआईएस में कोई सेटिंग नहीं बदली, एएसपीएक्स में कुछ भी नहीं, एक सादा समाधान बनाया >> वृक्षदृश्य और तैनात जोड़ा ।)

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"> 
    <div> 
        <asp:TreeView ID="TreeTest"
            EnableClientScript="true"
            PopulateNodesFromClient="true"
            ExpandDepth="0"
            ShowLines="true"
            ShowExpandCollapse="true"
            ShowCheckBoxes="Root"
            OnTreeNodePopulate="TreeTest_TreeNodePopulate"
            Width="1px"
            runat="server"> 
            <Nodes>
                <asp:TreeNode Text="Something">
                    <asp:TreeNode Text="11"></asp:TreeNode>
                </asp:TreeNode>
                <asp:TreeNode Text="Something">
                     <asp:TreeNode Text="11"></asp:TreeNode>
                </asp:TreeNode>
                <asp:TreeNode Text="Something"></asp:TreeNode>
            </Nodes> 
        </asp:TreeView>  
    </div>
</asp:Content>

मेरे स्थानीय में चेक इन यह देख सकता है:

आईआईएस संस्करण 6.2, विंडोज सर्वर 2012 में तैनात, यह देख सकता है:

कुछ और होना चाहिए जो आपके पृष्ठ में चेकबॉक्स को रोक रहा है। अधिक कोड दिखाएं।





treeview