Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hiho,

diesmal wieder in einem Thread^^

Ich habe eine Webseite in ASP.NET und bei einem Click auf einen Button in einer Tabelle müssen einige Dinge erfragt werden die (soweit ich jetzt finden konnte) das Zusammenspiel von Javascript und C# brauchen, da es mit ASP-NET eigenen Boardmitteln wohl nicht möglich ist so eine MessageBox Client-seitig aufploppen zu lassen.

Mein Gedanke soweit war eigentlich erstmal die Javascript-FUnktion im 'Webseitencode' (da gibt es bestimmt einen Fachbegriff) zu erstellen:

<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Log_Viewer</title>
    <script type="text/javascript">
        function confirm1(var text)
        {
            if (confirm(text) == true)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    </script>
</head>

Im CodeBehind muss ich wissen ob der User auf 'OK' oder 'Abbrechen' geklickt hat und dementsprechend weiter arbeitern:

protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Delete")
            {
                //Hier ein bisschen Code rausgeschnitten um den Inhalt der 'geklickten Zeile' zu kriegen
                bool userClick = confirm("Wirklich löschen?");
                if (userClick == true)
                {
                  //mehr code hier
                }
            }

            if (e.CommandName == "Edit")
            {
                //More stuff
            }
        }

Das ist zumindest der Gedanke, aber mein C#-code kennt die Funktion vom Javascript natürlich nicht und ich bezweifel auch das das so funktioniert, will aber auch nicht komplett alles in Javascript schreiben. Ich steh auf dem Schlauch, wie kriege ich eine MessageBox mit Ja/Nein-Buttons und das Ergebnis vom User-Input (ob er Ja oder Nein geklickt hat) in mein C#?

Geschrieben (bearbeitet)

Hey,

Mal schauen ob Ich dir dabei helfen kann, aber Ich versuche es mal.

 

Du solltest etwas allgemeines über Callbacks dir durchlesen, hatte mal einen Thread von dir Verfolgt wo du dich für Webforms anstatt MVC entschieden hattest und in Webforms gibt es ein ganz tolles PageLifceCycle  :D 

Bildergebnis für webforms vs mvc

 

In einem Callback Panel schickst du Daten an den Server (Code Behind) machst etwas und lädst nur das Callback Panel neu..

Beispielsweise wenn du eine Tabelle mit Benutzern im Callback hast, einen Benutzer löscht lädst nur die Tabelle neu.

In MVC wäre das etwas leichter (für mich) 

 
function confirm1(var text)
        {
           
        	callback.Performcallback(confirm);
           
        };


C#

  protected void CallbackPanel_Callback(object sender, CallbackEventArgsBase e)
  {
      if(e.Parameter == "true")
      {
		Deine Anweisung
      }
}

 

Kann dir nicht sagen ob es funktioniert da ich Aktuell viel mit MVC Arbeite 

Es gibt aber bestimmt mehrere Möglichkeiten :) 

 

//Nachtrag

MVC Lösung sehe so aus:

 @Html.ActionLink("Entfernen", "DeleteAuslastung", new { 
   onclick = "return confirm('Sind Sie sicher, dass dieser Eintrag entfernt werden soll?');" })

Der ActionLink ist nichts anderes als ein Button:



OnClientClick = "return confirm('Sind Sie sicher, dass dieser Eintrag entfernt werden soll?');" })

Mit der OnClientClick Methode wird vom Browser aus gefragt was du mit ja / Nein bestätigen kannst 

Und ansonsten mit einer OnClick Methode im Button deine CodeBehind (C#) Methoden ausführen.

https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.webcontrols.button.onclick?view=netframework-4.7.2

 

Viele Grüße 

 

Bearbeitet von Ale:x

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...