Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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#?

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.