Click here to Skip to main content
15,916,019 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
XML
How to use another/multiple ScriptManager in other page using MasterPage which MasterPage has a ScriptManager?

Design Page (MasterPage.master):
here, I use a ScriptManager, Panel (black colored) and a button. And also use Ajax ModalPopupExtender1.

Source Code (MasterPage):

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
<%@ Register Assembly ="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="pm" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
<style type="text/css">
.style1
{
width: 100%;
}
.style2
{
width: 100%;
border: 1px solid #800000;
background-color: #808080;
}
.bgcolor
{
background-color:Silver;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<table class="style1">
<tr>
<td>
 </td>
<td>
<asp:Button ID="Button1" runat="server" Text="Details"
onclick="Button1_Click" />
</td>
<td>
 </td>
<td>
 </td>
</tr>
<tr>
<td>
 </td>
<td>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

</asp:ContentPlaceHolder>
</td>
<td>
 </td>
<td>
 </td>
</tr>
<tr>
<td>
 </td>
<td>
<pm:ModalPopupExtender id="ModalPopupExtender1" BackgroundCssClass="bgcolor" TargetControlID="Button8" PopupControlID="Panel1" runat="server" >
</pm:ModalPopupExtender>
<asp:Button ID="Button8" runat="server" Text="Log In" style="display:none" />
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Panel ID="Panel1" runat="server" Width="500px">
<table class="style2">
<tr>
<td>
 </td>
<td>
 </td>
<td>
 </td>
</tr>
<tr>
<td>
Name</td>
<td>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</td>
<td>
 </td>
</tr>
<tr>
<td>
Job</td>
<td>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</td>
<td>
 </td>
</tr>
</table>
</asp:Panel>
</td>
<td>
 </td>
<td>
 </td>
</tr>
</table>
</div>
</form>
</body>
</html>

Code View(MasterPage):
public partial class MasterPage : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
ModalPopupExtender1.Show();
}
}

Design Part (Default3.aspx)
here I use a UpdatePanel. Does not use any extra ScriptManager.

Source View (Default3.aspx)

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" Title="Untitled Page" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<table class="style1">
<tr>
<td>
 </td>
<td>
 </td>
<td>
 </td>
<td>
 </td>
<td>
 </td>
</tr>
<tr>
<td>
 </td>
<td colspan="2">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<br />
<table class="style1">
<tr>
<td>
<asp:Button ID="Button9" runat="server" onclick="Button9_Click" Text="Button" />
<asp:ScriptManager ID="ScriptManager2" runat="server">
</asp:ScriptManager>
</td>
<td>
 </td>
</tr>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</td>
<td>
 </td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</td>
<td>
 </td>
<td>
 </td>
</tr>
<tr>
<td>
 </td>
<td>
 </td>
<td>
 </td>
<td>
 </td>
<td>
 </td>
</tr>
<tr>
<td>
 </td>
<td>
 </td>
<td>
 </td>
<td>
 </td>
<td>
 </td>
</tr>
</table>
</asp:Content>

Code View (Default3.aspx.cs)
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button9_Click(object sender, EventArgs e)
{
Label1.Text = "Hello";
}
}

Run (Show Error):
"The COntrol with ID 'UpdatePanel1' requires a ScriptManager on the page. The ScriptManager must appear before any controls that need it."

Then I add a ScriptManager on Default3.aspx page within UpdatePanel1.

Then Again Run Default3.aspx:

Error: Only one instance of a ScriptManager can be added to the page..


This is the Problem...................

Please solve this problem whereas I use multiple ScriptManager in another page using MasterPage (where already use ScriptManager).
Posted

1 solution

You only need one ScriptManager tag. Do not place it so low in your page. The best position for it is right after the opening for tag in your Master Page.

XML
<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" EnableScriptGlobalization="true"
        EnableScriptLocalization="true">
    </asp:ScriptManager>
    </form>
 
Share this answer
 
v2
Comments
prakashmondal 23-May-14 15:05pm    
Thanks Mr.AnvilRanger1......
My problem is solved now..................

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900