在下面的代码文件中,我在第一行编写了ajax模式弹出代码。 47我收到错误说只有一个scriptManager实例可以添加到页面我还在学习asp.net请帮我解决错误。
<%@ 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();
}
}
答案 0 :(得分:1)
发生错误是因为您的网页中有多个ToolkitScriptManager
。您已将ToolkitScriptManager
放置在GridView
控件中,这就是多次渲染的原因。请从ToolkitScriptManager
移除GridView
并将其放在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>