2012-11-20 11 views
21

ich eine neue ASP.NET-Webanwendung erstellt haben, und nach dem Debuggen Ich habe ein Script auf der Seite Server-FehlerDas Script muss vor jeder Kontrolle, die es brauchen

Die Steuerung mit der ID ‚WaitingPopup1‘ erfordert . Der ScriptManager muss vor allen Steuerelementen angezeigt werden, die ihn benötigen.

Ich bin neu mit ASP.NET also wo soll ich meinen ScriptManager installieren, in der web.config?

+1

Gerade Ort über Popup-Steuerelement –

Antwort

51

Die ScriptManager ist ein Steuerelement, das der von Ihnen erstellten Seite hinzugefügt werden muss.

Werfen Sie einen Blick auf diese Sample AJAX Application.

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

Sie per Formular 1 Skriptmanager benötigen. Wenn Sie also eine Masterseite haben, können Sie den Skriptmanager in seine Form bringen, und alle Ihre Seiten werden davon profitieren. – AMember

0

Auf der ASP.NET-Seite innerhalb der Formular-Tags.

4

Einfach ScriptManager innerhalb form Tag wie folgt:

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

Wenn es Master Page dann dieses in der Master-Seite selbst.

1

Die ScriptManager ist eine Web-Steuerelement, das Sie auf der Seite

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

innerhalb des Formular-Tag

7

Wenn Sie Microsoft AJAX verwenden auf Ihrer Seite Seite, die Sie benötigen the script manager control hinzugefügt, um Ihre Master mit registrieren oder die Seite, die es braucht. Es verwaltet ASP.NET Ajax Script-Bibliotheken und Skriptdateien, Teilrendering von Seiten und Client-Proxy-Klasse Generation für Web- und Anwendungsdienste

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

Die 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

Wenn nicht *** Microsoft Ajax ***, verwenden Sie nicht asp: ScriptManager? Alternative zu ** ScriptManager ** _ohne Verwendung *** Microsoft Ajax ***? – Kiquenet

0

Das Skript-Manager auf sein setzen müssen die Seite vor der Verwendung. Dies wäre direkt auf der Seite selbst oder alternativ, wenn Sie sie verwenden, auf der Masterseite.

Das Markup wäre;

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

Es will einfach das ASP-Steuerelement auf Ihrer ASPX-Seite. Ich lege mein in der Regel direkt unter dem Tag oder innerhalb der ersten Inhaltsbereich im Körper des Master (wenn Ihr eine Masterseite mit)

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

Sie können Ihre Script Manager-Tags hinzufügen, direkt unterhalb des <Form>-Tag Ihrer Seite. So können Sie Ihr Script Manager-Tag platzieren.

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

Wenn Sie Masterseiten verwenden, die empfohlenen Ihr Skript-Manager in Ihrem Master-Seite zu verwenden, so dass Sie es wieder nicht schreiben müssen, um wieder auf jeder Seite, die AJAX-Steuerelemente enthält.

+0

Ich habe ** MasterPage **, aber nicht verwenden *** AJAX-Steuerelemente ***, nur _jquery_. Brauche ich 'asp: ScriptManager'? – Kiquenet

1

Es gibt viele Fälle, in denen der Skript-Manager ein solches Problem verursachen kann.Probieren Sie Folgendes aus Fügen Sie zuerst den Skript-Manager in den entsprechenden Platzhalter oder einen anderen Platzhalter ein, der vor dem Inhalt angezeigt wird, in dem Ajax Control verwendet wird.

  1. Wir müssen ScriptManager hinzufügen, während Sie ein AJAX Control nicht nur Update-Panel verwenden. <asp:ScriptManager ID="ScriptManger1" runat="Server" />

  2. Wenn Sie mit neuestem Ajax Control Toolkit (Ich bin nicht sicher über die Version 4.0 oder 4.5) Sie verwenden müssen, die bestimmte ToolkitScriptManager und nicht Script von Standard Ajax Extensions.

  3. Sie können nur einen ScriptManager oder ToolKitScriptManager auf der Seite verwenden. Wenn Sie ihn auf der Masterseite hinzugefügt haben, müssen Sie ihn nicht erneut auf der Webseite hinzufügen.

  4. Das hier erwähnte Problem kann wegen ContentPlaceHolder Bitte überprüfen Sie, wieviele Platzhalter Sie auf Ihrer Masterseite haben. Nehmen wir ein Beispiel, wenn Sie zwei Inhalte haben: Platzhalter "Head" und "ContentPlaceHolder1" auf der Masterseite und ContentPlaceHolder1 ist Ihre Content Page.Klicken Sie unter Code Ich habe hier meinen ScriptManager auf dem zweiten Platzhalter hinzugefügt, darunter befindet sich das Update-Fenster.

<!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> 

Die meisten von uns Fehler machen, während Web-Formular entwerfen, wenn wir Masterpage standardmäßig auf der Webseite gibt es die gleiche Anzahl von Platzhalter wie der Master wählen.

<%@ 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> 

Wir müssen keine Platzhalter entfernen es Struktur führen, aber Sie müssen den Web-Formular Inhalt in Same Platzhalter hinzufügen müssen, wo Sie Ihr Script hinzugefügt (auf Master-Seite) oder fügen Sie Skript-Manager in entsprechenden Platzhalter oder einem Platzhalter, der vor dem Inhalt erscheint, in dem Ajax Control verwendet wird.

0
  • mit einem head Tag mit runat="server"
  • in einem form Tag mit runat="server"
  • vor den ContentPanels, die Steuerelemente enthält, die sie benötigen - typische Kontrollen mit UpdatePanels:

<% = PageTitle%>

</form> 
</body> 
Verwandte Themen