2012-11-20 13 views
21

मैं एक नया ASP.NET वेब अनुप्रयोग बनाया है, और डिबगिंग के बाद मैं सर्वर त्रुटिScriptManager दिखाई देना चाहिए से पहले किसी भी नियंत्रण की जरूरत है कि

आईडी 'WaitingPopup1' के साथ नियंत्रण पृष्ठ पर एक ScriptManager की आवश्यकता मिला । ScriptManager को किसी भी नियंत्रण से पहले प्रकट होना चाहिए जिसकी आवश्यकता है।

मैं ASP.NET के साथ नया हूँ इसलिए जहां schould मैं web.config में मेरी ScriptManager स्थापित करते हैं,?

+1

बस जगह <एएसपी: ScriptManager runat = "सर्वर" id = "somethi" /> पॉपअप नियंत्रण –

उत्तर

51

ScriptManager एक नियंत्रण पेज आपके द्वारा बनाए गए में जोड़े जाने की जरूरत है।

इस Sample AJAX Application पर एक नजर डालें।

<body> 
    <form runat="server"> 
     <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
     ... 
    </form> 
</body> 
+1

ऊपर आप फार्म प्रति 1 स्क्रिप्ट प्रबंधक की जरूरत है। इसलिए यदि आपके पास एक मास्टर पेज है तो आप स्क्रिप्ट मैनेजर को अपने फॉर्म में रख सकते हैं और आपके सभी पेज इसका लाभ उठाएंगे। – AMember

0

ASP.NET पृष्ठ पर, प्रपत्र टैग के अंदर।

4

बस इस तरह form टैग के अंदर ScriptManager डाल:

<form id="form1" runat="server"> 
    <asp:ScriptManager ID="ScriptManager1" runat="server"> 
    </asp:ScriptManager> 

यह Master Page तो मास्टर पृष्ठ अपने आप में इस रखो गया है।

1

ScriptManager एक वेब नियंत्रण है कि आप पेज में रजिस्टर फ़ॉर्म टैग

7

अंदर

<asp:ScriptManager ID="ScriptManger1" runat="Server" /> 

का उपयोग कर आप अपने पृष्ठ पर माइक्रोसॉफ्ट ajax का उपयोग कर रहे हैं, तो आप की जरूरत the script manager control आपके मास्टर पृष्ठ या करने के लिए जोड़ा है वह पृष्ठ जिसकी आवश्यकता है। यह वेब और आवेदन सेवाओं

<asp:ScriptManager ID="ScriptManger1" runat="Server"> 
</asp:ScriptManager> 

full usage

<asp:ScriptManager 
    AllowCustomErrorsRedirect="True|False" 
    AsyncPostBackErrorMessage="string" 
    AsyncPostBackTimeout="integer" 
    AuthenticationService-Path="uri" 
    EnablePageMethods="True|False" 
    EnablePartialRendering="True|False" 
    EnableScriptGlobalization="True|False" 
    EnableScriptLocalization="True|False" 
    EnableTheming="True|False" 
    EnableViewState="True|False" 
    ID="string" 
    LoadScriptsBeforeUI="True|False" 
    OnAsyncPostBackError="AsyncPostBackError event handler" 
    OnDataBinding="DataBinding event handler" 
    OnDisposed="Disposed event handler" 
    OnInit="Init event handler" 
    OnLoad="Load event handler" 
    OnPreRender="PreRender event handler" 
    OnResolveScriptReference="ResolveScriptReference event handler" 
    OnUnload="Unload event handler" 
    ProfileService-LoadProperties="string" 
    ProfileService-Path="uri" 
    RoleService-LoadRoles="True|False" 
    RoleService-Path="uri" 
    runat="server" 
    ScriptMode="Auto|Inherit|Debug|Release" 
    ScriptPath="string" 
    SkinID="string" 
    SupportsPartialRendering="True|False" 
    Visible="True|False"> 
     <AuthenticationService 
      Path="uri" /> 
     <ProfileService 
      LoadProperties="string" 
      Path="uri" /> 
     <RoleService 
      LoadRoles="True|False" 
      Path="uri" /> 
     <Scripts> 
      <asp:ScriptReference 
       Assembly="string" 
       IgnoreScriptPath="True|False" 
       Name="string" 
       NotifyScriptLoaded="True|False" 
       Path="string" 
       ResourceUICultures="string" 
       ScriptMode="Auto|Debug|Inherit|Release" /> 
     </Scripts> 
     <Services> 
      <asp:ServiceReference 
       InlineScript="True|False" 
       Path="string" /> 
     </Services> 
</asp:ScriptManager> 
+0

यदि *** माइक्रोसॉफ्ट AJAX *** का उपयोग नहीं करते हैं, तो 'asp: ScriptManager' का उपयोग न करें? ** ScriptManager ** _without_ के लिए वैकल्पिक *** माइक्रोसॉफ्ट AJAX *** का उपयोग करें? – Kiquenet

0

स्क्रिप्ट प्रबंधक पर डाल दिया जाना चाहिए के लिए ASP.NET अजाक्स स्क्रिप्ट पुस्तकालयों और स्क्रिप्ट फ़ाइलें, आंशिक-पृष्ठ प्रतिपादन, और ग्राहक प्रॉक्सी वर्ग पीढ़ी का प्रबंध इसका उपयोग करने से पहले पेज। यह सीधे पृष्ठ पर ही होगा, या वैकल्पिक रूप से, यदि आप उनका उपयोग कर रहे हैं, तो मास्टर पेज पर।

मार्कअप होगा;

<asp:ScriptManager ID="ScriptManager1" runat="server" LoadScriptsBeforeUI="true" 
      EnablePartialRendering="true" /> 
1

यह बस आपके एएसपीएक्स पृष्ठ पर एएसपी नियंत्रण चाहता है। मैं आमतौर पर मेरा अधिकार टैग के तहत जगह, या गुरु के शरीर में पहले सामग्री क्षेत्र के अंदर (अपने एक मास्टर पृष्ठ का उपयोग करता है, तो)

<body> 
    <form id="form1" runat="server"> 
     <asp:ScriptManager ID="scriptManager" runat="server"></asp:ScriptManager> 
     <div> 
      [Content] 
     </div> 
    </form> 
</body> 
5

आप अपने पृष्ठ के <Form> टैग नीचे अपनी स्क्रिप्ट प्रबंधक टैग जोड़ सकते हैं। यहां बताया गया है कि आप अपना स्क्रिप्ट प्रबंधक टैग कैसे रख सकते हैं।

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
    </asp:ScriptManager> 

आप मास्टर पेज का उपयोग कर रहे हैं, तो अपने अपने मास्टर पृष्ठ में अपने स्क्रिप्ट प्रबंधक का उपयोग करने के लिए इतना है कि आप हर पृष्ठ कि AJAX नियंत्रण होता है पर फिर से और फिर इसे लिखने की जरूरत नहीं है की सिफारिश की।

+0

मेरे पास ** मास्टरपेज ** है, लेकिन *** AJAX नियंत्रण *** का उपयोग नहीं, केवल _jquery_। क्या मुझे 'asp: ScriptManager' की आवश्यकता है? – Kiquenet

1

ऐसे कई मामले हैं, जहां स्क्रिप्ट प्रबंधक ऐसे ही समस्या दे सकते हैं।आप उचित प्लेसहोल्डर या किसी भी स्थान धारक में यह पहला ऐड स्क्रिप्ट प्रबंधक आज़माएं जो सामग्री से पहले प्रकट होता है जिसमें अजाक्स नियंत्रण का उपयोग किया जाता है।

  1. किसी भी AJAX नियंत्रण का उपयोग करते समय हमें स्क्रिप्ट मैनेजर जोड़ने की आवश्यकता नहीं है न केवल पैनल अपडेट करें। <asp:ScriptManager ID="ScriptManger1" runat="Server" />

  2. आप उपयोग कर रहे हैं नवीनतम अजाक्स नियंत्रण टूलकिट (मैं संस्करण 4.0 या 4.5 के बारे में निश्चित नहीं हूँ) आप का उपयोग करने की आवश्यकता है कि डिफ़ॉल्ट अजाक्स एक्सटेंशन से विशेष ToolkitScriptManager और नहीं ScriptManager।

  3. आप पृष्ठ पर केवल एक स्क्रिप्ट मैनेजर या टूलकिटस्क्रिप्ट प्रबंधक का उपयोग कर सकते हैं, यदि आपने इसे मास्टर पेज पर जोड़ा है तो आपको इसे वेब पेज पर फिर से जोड़ने की आवश्यकता नहीं है।

  4. यहां बताया गया समस्या ContentPlaceHolder की वजह से हो सकती है कृपया जांचें कि आपके मास्टर पेज पर कितने सामग्री प्लेसहोल्डर हैं। आइए उदाहरण लें कि यदि आपके पास 2 पेज प्लेसहोल्डर्स "हेड" और "कंटेंटप्लेस होल्डर 1" मास्टर पेज पर हैं और ContentPlaceHolder1 आपका कंटेंट पेज है। कृपया नीचे दिए गए कोड की जांच करें। मैंने यहां जोड़ा है कि मेरे स्क्रिप्ट मैनेजर दूसरे प्लेसहोल्डर पर नीचे अपडेट पैनल है।

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <asp:ContentPlaceHolder id="head" runat="server"> 
    </asp:ContentPlaceHolder> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:ContentPlaceHolder id="MainContent" runat="server"> 
     <asp:ScriptManager ID="ScriptManger1" runat="Server" /> 
      <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
    </ContentTemplate> 
</asp:UpdatePanel> 
     </asp:ContentPlaceHolder> 
    </div> 
    </form> 
</body> 
</html> 

हम में से अधिकांश गलती करते हुए वेब फार्म को डिजाइन जब हम वेब पेज पर डिफ़ॉल्ट रूप से masterpage चुनें masterpage के रूप में प्लेसहोल्डर की संख्या के बराबर नहीं है।

<%@ Page Title="" Language="C#" MasterPageFile="~/Master Pages/Home.master" AutoEventWireup="true" CodeFile="frmCompanyLogin.aspx.cs" Inherits="Authentication_frmCompanyLogin" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server"> 
</asp:Content> 

हम किसी भी प्लेसहोल्डर यह संरचना मार्गदर्शक है, लेकिन आप उचित प्लेसहोल्डर या किसी में एक ही प्लेसहोल्डर है जहाँ आप अपने ScriptManager (मास्टर पृष्ठ पर) जोड़ा में वेब फार्म सामग्री जोड़ सकते हैं या स्क्रिप्ट प्रबंधक जोड़ने के लिए होना आवश्यक है दूर करने के लिए कोई जरूरत नहीं जगह धारक जो सामग्री से पहले प्रकट होता है जिसमें अजाक्स नियंत्रण का उपयोग किया जाता है।

0
    एक head ContentPanels कि नियंत्रण से उसके लिए आवश्यक होते हैं पहले runat="server"
  • साथ runat="server"
  • एक form टैग के अंदर के साथ टैग के साथ
  • - UpdatePanels के साथ ठेठ नियंत्रण:

<% = पेजटाइट%>

</form> 
</body>