Wce Komal
Wce Komal

Reputation: 15

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

In the following code file I have written ajax modal popup code on line no. 47 And I am getting error saying only one instance of scriptManager can be added to the page i am yet learning asp.net Please help me solve the error.

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Bags.aspx.cs" Inherits="Bags" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style>
.modalBackground {
        background-color: black;
        filter: alpha(opacity = 90) !important;
        opacity: 0.6 !important;
        z-index: 20;
    }

    .modalpopup {
        padding: 20px 0px 24px 10px;
        position: relative;
        width: 450px;
        height: 66px;
        background-color: white;
        border: 1px solid black;
    }
</style>
</head>
<body>
<div>
    <form id="RegistrationsForm" runat="server">
        <asp:GridView CssClass="table table-bordered table-striped" ID="GridViewEntry" runat="server" AutoGenerateColumns="False" DataKeyNames="LID" OnSelectedIndexChanged="GridViewEntry_SelectedIndexChanged">
            <Columns>
                <asp:BoundField HeaderText="FULL NAME" DataField="full_name"></asp:BoundField>
                <asp:BoundField HeaderText="Bag ID" DataField="LID"></asp:BoundField>
                <asp:BoundField HeaderText="Tag ID" DataField="RFID"></asp:BoundField>
                <asp:BoundField HeaderText="State" DataField="state"></asp:BoundField>
                <asp:BoundField HeaderText="At" DataField="At"></asp:BoundField>
                <asp:TemplateField HeaderText="Action">
                    <ItemTemplate>
                        <asp:Button ID="LostButton" runat="server"
                            CommandName="Lost"
                            CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
                            Text="Lost" CssClass="btn btn-sm btn-success" />



                        <cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></cc1:ToolkitScriptManager>




                        <asp:Panel ID="Panel1" runat="server" CssClass="modalpopup">
                            Desription : 
                            <br></br>
                            <asp:TextBox ID="Desription" runat="server" placeholder="Optional"></asp:TextBox>
                            <br></br>
                            <asp:Button ID="OK" runat="server" Text="OK" />
                            <asp:Button ID="Cancel" runat="server" Text="Cancel" />
                        </asp:Panel>

                        <cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server" CancelControlID="Cancel" OkControlID="OK" PopupControlID="Panel1" TargetControlID="LostButton" BackgroundCssClass="modalBackground"></cc1:ModalPopupExtender>


                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            <EmptyDataTemplate>
                <div class='row'>
                    <div class='col-sm-12'>
                        <div class='alert alert-warning'>
                            <asp:Label ID="LblError" runat="server">No Information Found! Please Check Again Later!</asp:Label>

                        </div>
                    </div>
                </div>
            </EmptyDataTemplate>

        </asp:GridView>
    </form>
</div>

Bags.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;

public partial class Bags : System.Web.UI.Page
{
 private  SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["BAGTRACKConnectionString"].ConnectionString);
private  int fid = 1;
protected void Page_Load(object sender, EventArgs e)
{
    if ((HttpContext.Current.Session["username"] == null))
        Response.Redirect("~/Login.aspx");
    if (!IsPostBack)
    {
        if (Request.QueryString["ref_id"] != null)
        {
            fid = Convert.ToInt32(Request.QueryString["ref_id"]);
            GVBind();

        }
        else
        {
            Response.Redirect("Dashboard.aspx");
        }
    }
}

protected void GVBind()
{
    DataSet ds = new DataSet();
    con.Open();
    SqlCommand cmd = new SqlCommand("select CONCAT(P.fname,' ',P.lname) AS full_name , L.LID ,L.RFID ,S.state ,B.At_time as At from  Flight F , Ticket T , Passenger P ,Luggage L , BagTrip B ,Status S where T.FID = F.FID and T.username = P.username and  L.TID = T.TID and B.ReaderID = S.ReaderID and B.LID = L.LID and F.FID = @FID ", con);
    cmd.Parameters.AddWithValue("@FID", fid);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    da.Fill(ds);
    con.Close();
    GridViewEntry.DataSource = ds;
    GridViewEntry.DataBind();
}



protected void GridViewEntry_SelectedIndexChanged(object sender, EventArgs e)
{

    GridViewRow row = GridViewEntry.SelectedRow;
    con.Open();
    SqlCommand cmd = new SqlCommand("insert into LostRepository values(@LID,0,@desription,@time)", con);
    cmd.Parameters.AddWithValue("@LID", row.Cells[1]);
    cmd.Parameters.AddWithValue("@desription", (GridViewEntry.SelectedRow.FindControl("Desription") as TextBox).Text);
    cmd.Parameters.AddWithValue("@FID", fid);
    cmd.Parameters.AddWithValue("@time", DateTime.Now.TimeOfDay);
    cmd.ExecuteNonQuery();
    con.Close();
}

}

Upvotes: 0

Views: 884

Answers (1)

csharpbd
csharpbd

Reputation: 4066

The error occurred because you have multiple ToolkitScriptManager in your page. You have placed ToolkitScriptManager in your GridView control that's why it's render multiple times. Please remove ToolkitScriptManager from GridView and place it below form tag.

Check this code:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Bags.aspx.cs" Inherits="Bags" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style>
        .modalBackground {
            background-color: black;
            filter: alpha(opacity = 90) !important;
            opacity: 0.6 !important;
            z-index: 20;
        }

        .modalpopup {
            padding: 20px 0px 24px 10px;
            position: relative;
            width: 450px;
            height: 66px;
            background-color: white;
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <div>
        <form id="RegistrationsForm" runat="server">

            <cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></cc1:ToolkitScriptManager>

            <asp:GridView CssClass="table table-bordered table-striped" ID="GridViewEntry" runat="server" AutoGenerateColumns="False" DataKeyNames="LID" OnSelectedIndexChanged="GridViewEntry_SelectedIndexChanged">
                <Columns>
                    <asp:BoundField HeaderText="FULL NAME" DataField="full_name"></asp:BoundField>
                    <asp:BoundField HeaderText="Bag ID" DataField="LID"></asp:BoundField>
                    <asp:BoundField HeaderText="Tag ID" DataField="RFID"></asp:BoundField>
                    <asp:BoundField HeaderText="State" DataField="state"></asp:BoundField>
                    <asp:BoundField HeaderText="At" DataField="At"></asp:BoundField>
                    <asp:TemplateField HeaderText="Action">
                        <ItemTemplate>
                            <asp:Button ID="LostButton" runat="server"
                                CommandName="Lost"
                                CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
                                Text="Lost" CssClass="btn btn-sm btn-success" />

                            <asp:Panel ID="Panel1" runat="server" CssClass="modalpopup">
                                Desription : 
                            <br></br>
                                <asp:TextBox ID="Desription" runat="server" placeholder="Optional"></asp:TextBox>
                                <br></br>
                                <asp:Button ID="OK" runat="server" Text="OK" />
                                <asp:Button ID="Cancel" runat="server" Text="Cancel" />
                            </asp:Panel>

                            <cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server" CancelControlID="Cancel" OkControlID="OK" PopupControlID="Panel1" TargetControlID="LostButton" BackgroundCssClass="modalBackground"></cc1:ModalPopupExtender>


                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
                <EmptyDataTemplate>
                    <div class='row'>
                        <div class='col-sm-12'>
                            <div class='alert alert-warning'>
                                <asp:Label ID="LblError" runat="server">No Information Found! Please Check Again Later!</asp:Label>

                            </div>
                        </div>
                    </div>
                </EmptyDataTemplate>

            </asp:GridView>
        </form>
    </div>

Upvotes: 1

Related Questions