2017-05-21 4 views
1

Ich frage mich, ob es eine Lösung ist, ein asp:Button mit CommandName in einem ListView zu haben und es die CommandName läuft und führt zu machen, aber ohne die Seite zu aktualisieren (abschicken). Ich habe ein Modal, daher mag ich es nicht, dass die Seite aktualisiert wird und zeigt dann das Modal.asp net - Taste mit befehl vorlegen nicht

<asp:Button runat="server" CommandName="Details" Text="Details" />

Ich habe bereits versucht UseSubmitBehaviour ohne Erfolg auf false gesetzt.

EDIT:

Protected Sub lstvLadder_ItemCommand(sender As Object, e As ListViewCommandEventArgs) 
     If e.CommandName = "Details" Then 
      Dim lblRank As Label = TryCast(e.Item.FindControl("lblRank"), Label) 
      Dim lblPoints As Label = TryCast(e.Item.FindControl("lblPoints"), Label) 
      Dim lblTeam As Label = TryCast(e.Item.FindControl("lblTeam"), Label) 
      Dim lblTeamLeader As Label = TryCast(e.Item.FindControl("lblTeamLeader"), Label) 
      MUCH CODE HERE 

     End If 
End Sub 

Ich will es nicht die Seite aktualisieren, wenn die Schaltfläche geklickt hat, aber ich will es diese Funktion ausführen kann, befehl

Wenn Sie für sich selbst sehen wollen: here Wenn Sie Drücke die Schaltfläche Details auf der rechten Seite, es aktualisiert die Seite und lädt dann das Modal, anstatt nur das Modal zu laden. Die Schaltfläche, die ich benutze, um sie aufzurufen, ist der obige und der ItemCommand Block.

+0

können Sie einen Ajax-Anruf verwenden? –

+0

Fügen Sie das 'OnClientClick()' Attribut hinzu und rufen Sie eine 'javascript' Methode auf, in der Sie einen' ajax' Aufruf an Ihre serverseitige Methode machen. – Abi

+0

@Chef_Code Könnten Sie mir einen Link zum korrekten Ajax-Anruf geben, den ich gerne machen würde? –

Antwort

0

Ich bin mir nicht ganz sicher, was Sie zu erreichen versuchen. Aber wenn man einfach versuchen, ein postback zu verhindern, können Sie einfach versuchen Sie Folgendes:

<asp:Button ID="btnId" runat="server" 
      CommandName="Details" 
      Text="Details" 
      CommandArgument = "X" 
      OnClick="btnId_Click" 
      OnClientClick="return false;" /> 

verließ ich Sie mit einigen anderen Eigenschaften auf der asp:Button zu schauen, um zu versuchen ein, Ihr Problem zu erreichen. Wenn Sie detaillierter darüber sprechen könnten, was passiert und was Sie vorhaben, kann ich versuchen, weiter zu helfen. Wie zeigen Ihnen, wie man einen Ajax-Anruf macht, aber Sie können vielleicht erreichen, was Sie ohne einen tun möchten.

UPDATE:

ich noch nicht in der Lage bin weiter, um mehr Quellinformationen (Servercode) ohne Zugang zu helfen, aber ich bin ein Link auf eine andere Antwort zu geben eine UpdatePanel in Bezug auf das Hinzufügen, die Sie machen können, um Rufen Sie den Server und nicht die gesamte Seite beim Drücken der asp:button aktualisieren. Hier ist ein link to the stackoverflow answer. Hoffe das hilft.

+0

Bei der Verwendung von return false wird der Befehlsname nicht ausgeführt, daher funktioniert es nicht. Ich werde meine Frage aktualisieren, siehe –

+0

Haben Sie ein Repository, in dem ich die Quelle anzeigen kann? –

+0

Können Sie Ihre Frage aktualisieren, um alle Teile des Problems in Frage zu stellen ... Der Client und Server-Code mindestens ... es sei denn, Sie haben Repository, dann zeigen Sie mich einfach auf das Repository. Ich brauche mehr Kontext, um dir zu helfen. –