Blazor: Aufrufen der statischen C # -Methode von der JS-Funktion, die von HTML onclick aufgerufen wird - warum kann der JS die Methode nicht finden?

MadBanana

Innerhalb einer Blazor-Komponente möchte ich eine JS-Methode aus dem HTML-Ereignis onclick eines Ankertags aufrufen, also:

<a onclick="window.LoadImage();" class="@CssClass">@DisplayName</a> 

Meine JS-Methode ist:

window.LoadImage = () => {
    DotNet.invokeMethodAsync('MyProject', 'FireEvent').then();
}

Innerhalb der JS-Methode möchte ich eine statische C # -Methode auslösen, um ein Ereignis auszulösen.

[JSInvokable]
public static void FireEvent()
{
   StateEngine.LoadImage(DisplayName, Target);
}
[Parameter]
public string DisplayName { get; set; }
[Parameter]
public string Target { get; set; }

Ich kann die JS-Methode nicht dazu bringen, die C # -Methode zu finden. Ich habe mehrere Namenskonfigurationen für den ersten Parameter ausprobiert, wie z

MyProject (the assembly name)
MyProject.FolderName.ComponentName
FolderName.ComponentName
ComponentName

um ein paar zu nennen. Ich habe auch versucht, Namen durch den zweiten Parameter zu mischen.

Wie soll das funktionieren? Was vermisse ich?

PS Bitte ignorieren Sie das Bit über die Instanzeigenschaften in der statischen Methode. Ich habe eine Problemumgehung dafür, möchte aber den Beitrag nicht überladen.

Ericgrantholland

So wie es aussieht, ist es besser, die Referenz JSInterop zu verwenden, damit Sie auf die Komponenteneigenschaften zugreifen können.

Rasierer

@inject IJSRuntime JS
@implements IDisposable

 <a @onclick=Clicked>Click here</a>

@code
{
  private DotNetObjecctReference ObjRef;

  [JSInvokable]
  public void FireEvent()
  {
     StateEngine.LoadImage(DisplayName, Target);
  }

  private Task Clicked()
  {
    return JS.InvokeVoidAsync("window.LoadImage", ObjRef);
  }

  protected override Task OnInitializedAsync()
  {
    ObjRef = DotNetObjectReference.Create(this);
  }

  void IDisposable.Dispose()
  {
    ObjRef.Dispose();
  }
}

JS

window.LoadImage = (dotNetObject) => {
    dotNetObject.invokeMethod('FireEvent');
}

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Die nicht statische Methode kann nicht von der nicht statischen Methode in Android Studio aufgerufen werden

Klassenbereich mit Methode, die von der Unterklasse JS aufgerufen wird

Der Zeiger auf die Elementfunktion kann nicht von der statischen Methode aufgerufen werden

Die Methode ready () von Vue.js wird in der vue-Komponente nicht aufgerufen

Aufrufen einer nicht statischen Methode von einer statischen Methode USING-Instanz, die in der statischen Methode erstellt wurde

Wie kann ich die statische Methode des Kindes von der statischen Methode des Elternteils aufrufen?

Android kann die Methode von onClick in der ListView-Zeile der Schaltfläche nicht finden

Funktion wird nicht von der JS-Hauptfunktion aufgerufen, die mit dem onClick-Ereignis aufgerufen wird

Metaklassen: Warum wird die Methode nicht von der Basisklasse geerbt?

Warum kann der Compiler die Methode der Oberklasse nicht finden?

Warum wird die init-Methode von Decodable bei Verwendung der JSONDecoder.decode-Methode nicht aufgerufen?

Wie kann ich eine Methode aufrufen, die sich in der Serverschicht von der Clientschicht in BLAZOR befindet?

Warum die NPE mit der statischen Methode von DatatypeConverter?

Die im Ersteller aufgerufene Methode wird von der Basisklasse aufgerufen, nicht jedoch von der abgeleiteten Klasse

Funktion wird nicht von der Methode componentDidMount aufgerufen

Warum wird die Methode __get__ der Metaklasse nicht aufgerufen?

Eine Methode, die von einer statischen Methode aufgerufen wird, kann nicht überprüft werden

Wie kann man die Methodenparameter einer Methode mit Scheininjektion abrufen, die von der zu testenden Funktion aufgerufen wird?

Warum ich None anstelle von int von if block in einer Methode erhalte, die von einer anderen Methode in der Klasse aufgerufen wird

Java: Methode, die von der Unterklasse im Superklassenkonstruktor aufgerufen wird

Aufrufen der statischen Methode, die vom Protokoll in Swift bereitgestellt wird

Wie wird die Methode in der statischen Klasse aufgerufen?

Wenn die Methode router.post von der URL aus aufgerufen wird, wird der Fehler 404 in express.js nicht gefunden

Aufrufen einer nicht statischen Methode von außerhalb der Klasse

Die Übergabe der Nummer von HTML an die JS-Funktion wird in JS "undefiniert". Warum?

Warum ich die Klasseninstanz 'Child' nicht übergeben kann, wenn der Parametertyp in der Methode 'overloaded' von 'const' auf 'var' umgeschaltet wird

Warum Golang sich nicht von einer Panik in einer Funktion erholen kann, die von der Verzögerungsfunktion aufgerufen wird

Kann nicht auf die untergeordnete statische Eigenschaft von der übergeordneten statischen Methode in PHP zugreifen

Die Methode c # der Klasse kann nicht aufgerufen werden.

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  3. 3

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  4. 4

    Eclipse Oxygen - Projekte verschwinden

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Wie kann ich den Kaskadenmodus global einstellen?

  7. 7

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  8. 8

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  9. 9

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  10. 10

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  11. 11

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  12. 12

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  13. 13

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  14. 14

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  15. 15

    Wie wählt man Unterschiede mit drei Tabellen aus?

  16. 16

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  17. 17

    Wie kann ich meine Tabelle abfragen, um sie in mySQL nach 2 Feldern zu gruppieren?

  18. 18

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  19. 19

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  20. 20

    Modbus Python Schneider PM5300

  21. 21

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

heißlabel

Archiv