Update gridview-Steuerelement durch klicken auf eine Schaltfläche asp.net c#
Ich versuche, die auto-update-mein gridview bei Klick auf die asp:net-Taste. Mein gridview-accounts enthält, die darauf warten, bestätigt zu werden durch den admin. Das gridview enthält eine select-linkbutton. Wenn der Administrator wählt den link-button und klickte auf die asp:net-Taste, es wird angenommen, um automatisch zu aktualisieren, 'pending' auf 'freigegeben'. Es wird dann aktualisieren Sie die gridview und automatisch löschen Sie die ausstehende Rechnung wurde genehmigt.
Habe ich diese Methode response.redirect-Methode
Response.Redirect("AdminVerify.aspx");
aber es erfrischt sofort meine gesamte Seite und ignorierte meine ajax scriptmanager
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
dass ich haben Hinzugefügt. Mit dem script manager, ich denke, es wird nicht angenommen, die ganze Seite aktualisieren. Daher Frage ich mich, wie lasse ich einen button update des gridview-vielleicht automatisch nach 3 Sekunden, wenn es angeklickt wird.
Ich habe versucht, zu Eingang dieser html-code aber anstatt es automatisch zu aktualisieren meiner Seite alle 5 Sek, obwohl ich nicht alles anklicken
<meta http-equiv="refresh" content="5" >
Source Code :
<%@ Page Title="" Language="C#" MasterPageFile="~/Admin.Master" AutoEventWireup="true" CodeBehind="AdminVerify.aspx.cs" Inherits="AdminWebApp.AdminVerify" %>
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<p>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
Unverified Officer's Account Information<br />
<asp:GridView ID="GVVerify" runat="server" BackColor="#CCCCCC" BorderColor="#999999" Width="100%" BorderStyle="Solid" BorderWidth="3px" CellPadding="4" CellSpacing="2" ForeColor="Black" OnSelectedIndexChanged="GVVerify_SelectedIndexChanged" AutoGenerateSelectButton="True">
<FooterStyle BackColor="#CCCCCC" />
<HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#CCCCCC" ForeColor="Black" HorizontalAlign="Left" />
<RowStyle BackColor="White" />
<SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#808080" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#383838" />
</asp:GridView>
Officer ID :
<asp:Label ID="lblOID" runat="server"></asp:Label>
will be verify upon activation<br />
<br />
<asp:Label ID="lblMsg" runat="server"></asp:Label>
<br />
<br />
<asp:Button ID="btnVerify" runat="server" OnClick="btnVerify_Click" Text="Verify" />
<asp:ConfirmButtonExtender ID="ConfirmButtonExtender1" runat="server"
TargetControlID="btnVerify"
ConfirmText="Are you sure you would like to verify this police officer?"
OnClientCancel="CancelClick" />
</ContentTemplate>
</asp:UpdatePanel>
</p>
</asp:Content>
Back-end-codes :
public partial class AdminVerify : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source =localhost;" +
"Initial Catalog = project; Integrated Security = SSPI";
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter("SELECT policeid, password, email, nric, fullname, contact, address, location From LoginRegisterPolice where pending='pending'", conn);
da.Fill(ds);
GVVerify.DataSource = ds;
GVVerify.DataBind();
conn.Close();
}
}
protected void GVVerify_SelectedIndexChanged(object sender, EventArgs e)
{
lblOID.Text = GVVerify.SelectedRow.Cells[1].Text;
}
protected void btnVerify_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=localhost; Initial Catalog=project; Integrated Security=True");
con.Open();
SqlCommand cmd = new SqlCommand("Update LoginRegisterPolice set pending='approved' where policeid='"+lblOID.Text+"'", con);
cmd.ExecuteNonQuery();
lblMsg.Text = "The following officer has been verified.";
Response.Redirect("AdminVerify.aspx");
}
}
}
- Was ist der Zweck der Taste? Nur um es zu aktualisieren, jedes so oft, weil die neuen Daten eingegeben wurden, die Auswirkungen auf das Gridview?
- Die Schaltfläche ist nur, um zu überprüfen, einige ausstehende Konten. Ich habe den button zum aktualisieren der Spalte von ausstehend in genehmigt.
- wo dein button liegt? ist es in UpdatePanel1? zeigen Sie den code, was tun Sie, auf den button klicken
- können Sie Ihre vollständige code hinter?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie separate Methode zum laden der gridview-Daten. In der ersten Zeit die Seite laden Sie diese Methode aufrufen kann und auch getan, nachdem Sie änderungen auf Daten, laden Sie das raster nach dem Aufruf dieser Methode.
Soweit ich das beobachtet habe
GridViewID.DataBind()
aktualisieren Sie Ihre raster auf dem server aber es werden nicht die änderungen auf die browser (client-Seite). Um die änderungen ohne AufrufPage_Load
, nur wickeln Sie Ihr Netz innerhalb einesUpdatePanel
wie diese, und ändern Sie den Modus zuConditional
.Dann überall dort, wo Sie verbindlich sind die Daten auf dem raster hinzufügen
UpdatePanel1.Update()
nach.C#