2012-04-10 7 views
1

Ich habe ein Gridview-Steuerelement auf meiner asp.net-Seite (vb.net). Ich habe auch einen "Abbrechen" -Knopf, der, wenn er gedrückt wird, die Gitteransicht seines aktuellen Inhalts löschen soll.wie man Gridview löscht, ohne die Seite neu zu laden

Aber immer wenn die Abbrechen-Taste gedrückt wird, lädt es nur die Seite neu und die Gridview ist immer noch dort mit denselben Daten, die ich löschen wollte.

Basierend auf Vorschlägen, die ich auf Stackoverflow gefunden habe, habe ich die Datenquelle auf nichts eingestellt, aber das funktioniert nicht.

Hier ist mein Code für die Abbrechen-Taste:

Private Sub btnCancel_Click(sender As Object, e As System.EventArgs) Handles btnCancel.Click 
    gvQuizReport.DataSource = Nothing 
    gvQuizReport.DataBind() 
End Sub 

Irgendwelche Vorschläge wäre willkommen!

Dank

+2

Wären Sie gegen die Verwendung eines 'UpdatePanel'? das würde dann nur die gridview neu laden und NICHT die ganze Seite – peroija

+1

Nein ich könnte ein update panel verwenden, ich hätte nie daran gedacht – SkyeBoniwell

Antwort

1

, da Sie ein gewisses Interesse an Update, hier gezeigt haben, ist einige Starter-Code, falls Sie noch nicht vertraut sind:

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager> 
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always"> 
     <ContentTemplate> 
      <asp:GridView ID="GridView1" runat="server"> 
      </asp:GridView> 
     </ContentTemplate> 
</asp:UpdatePanel> 

Wenn Sie bereits ein scriptmanager auf Ihrer Seite haben Sie nicht brauchen, einen anderen hinzufügen (Sie erhalten einen Fehler). Wenn Sie Probleme bei der Implementierung des Updatepanels haben, zögern Sie nicht, eine weitere Frage zu stellen. Es gibt viele Leute, die Ihnen dabei helfen können.

1

Der Code, den Sie zeigte sollten „klar“ die Ergebnisse, aber wenn Sie, nicht alles angezeigt möchten Sie die gridview verstecken würde gvQuizReport.Visible = False durch die Verwendung;

3

Sie könnten versuchen:

gvQuizReport.Columns.Clear() 

obwohl als @Leniel Macaferi sagte, die gridview versteckt als auch eine mögliche Lösung ist.

+0

Ich denke es ist ein Problem mit dem Button ... weil ich die Datenquelle = nix und databind losgeworden bin hat es nur versteckt und lädt die Seite neu und zeigt das Raster an, wenn Sie auf Abbrechen klicken – SkyeBoniwell

1

Wenn Sie wirklich löschen möchten, ohne die Seite neu zu laden, können Sie einfach das clientseitige Skript verwenden, um das Rasterobjekt auszublenden.

jquery hide