我一直在處理一些不尋常的錯誤,當我嘗試編譯我的asp.net頁面時。此頁面從我的主頁面繼承。它應該從那裏獲得Scriptmanager。但是我得到的錯誤表明事實並非如此。如何讓ScriptManager與ScriptmanagerProxy配合使用
現在我有這個在我的網頁:
<%@ Page Title="MassUpdate" Language="C#"
MasterPageFile="~/Site1.Master"
AutoEventWireup="true"
CodeBehind="Update.aspx.cs"
Inherits="AdminSite.Update"
MaintainScrollPositionOnPostback="true" %>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server" >
<div id="contentarea">
<div>
<h3 style="color:Red; padding-left:5px;">
WARNING - This page can push large amounts of data into the database. Use care when using it!
</h3>
</div>
<asp:ScriptManagerProxy runat="server" >
</asp:ScriptManagerProxy>
而在我的母版,我有這樣的:
<body>
<header>
<div id="banner">
<h1 style="color:#DBFFFF">UAC Parts Admin</h1>
</div>
</header>
<form id="form1" runat="server">
<div id="container">
<asp:ContentPlaceHolder ID="MainContent" runat="server">
</asp:ContentPlaceHolder>
<asp:LoginView ID="LoginView1" runat="server" EnableViewState="false">
<LoggedInTemplate>
<div id="menubar">
<h6>Reports</h6>
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/Scripts/jquery.js" />
<asp:ScriptReference Path="~/Scripts/jqueryui.js" />
<asp:ScriptReference Path="~/Scripts/menubar.js" />
</Scripts>
</asp:ScriptManager>
的第一個錯誤是:
與控制ID「'需要頁面上的ScriptManager。 ScriptManager必須出現在任何需要它的控件之前。
它發生在我的頁面上沒有ScriptManager並且使用ScriptManagerProxy代替時。儘管我的Master頁面上有ScriptManager。
現在,當我在頁面上放置一個ScriptManager時,我得到了一個不同的錯誤。
只有一個ScriptManager實例可以添加到頁面中。
我需要做些什麼才能使其發揮作用? 這是我的一個Nuget包的問題嗎? (JuiceUI,Widgmo等)
如果有要求,我會很高興發佈代碼。
編輯: 是的,這整個事情已經很奇怪。奇怪的母版本身本身沒有問題。但只有當其他頁面使用它時,我纔有任何問題。將它移到表單標記之後的第一個元素是我相信的解決方案。儘管我也在代碼中將ScriptManagerProxy稍微移了一下。
你能在你的母版頁上發佈包含'ScriptManager'的標記,並在你的.aspx頁面上發佈'ScriptManagerProxy'嗎? – Jay
當然,我會這樣做。 –
[ScriptManager必須出現在任何需要它的控件之前]可能的重複(http://stackoverflow.com/questions/13473808/the-scriptmanager-must-appear-before-any-controls-that-need-it) – joshua