2017-04-09 35 views
0

在以下代码文件中,我已经在第no行上编写了ajax模式弹出代码。 47我得到错误说只有一个scriptManager实例可以添加到页面我还没有学习asp.net请帮我解决错误。System.InvalidOperationException:只能将一个ScriptManager实例添加到页面中

<%@ 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(); 
} 

}

回答

1

,因为你在你的页面有多个ToolkitScriptManager发生错误。您已将ToolkitScriptManager放入您的GridView控件中,这就是为什么它会呈现多次。请从GridView中删除ToolkitScriptManager,并将其置于form标签下方。

检查这个代码:

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

谢谢这个解决我的问题 –

+0

欢迎您!!!!! – csharpbd

相关问题