블레이저 메서드 호출하기 자바 스크립트

blazor javascript visual-studio

문제

Visual Studio에서 Blazor를 사용하여 실험하고 있습니다. 특히 JavaScript에서 Blazor 코드를 호출하는 것이 좋습니다. 나는 적절한 라이브러리를 모두 갖추고 있다고 확신합니다. 그러나 invokeMethodAsync를 사용하여 Blazor 메서드를 호출하려고하면 ".net 호출 디스패처가 설정되지 않았습니다."라는 메시지가 나타납니다. 내 Index.Html 파일에서이 있습니다.

<script> DotNet.invokeMethodAsync("BlazorFour.App", "HelloYou").then(data => alert(data), reason => alert(reason)); </script>

(그것은 오류 메시지를 생성하는 경고 (이유)입니다)

Blazor 프로젝트에 클래스 파일을 추가했는데 다음과 같은 내용이 포함되어 있습니다 :

using Microsoft.JSInterop;
using System.Threading.Tasks;
public class HelloWorld
{
[JSInvokable]
public static Task<string> HelloYou()
{
    return Task.FromResult("Hello, ");
}
}

Visual Studio 및 dotnet의 모든 템플릿을 사용했습니다. 새로운 시작 명령 줄 유틸리티를 사용하여 시작점을 만들었지 만 모든 프로젝트에서 동일한 메시지가 나타납니다. 내가 여기에 뭔가 근본적인 것을 놓치고있는 것 같다.

인기 답변

Peter Vogel : 자바 스크립트 코드에서 Blazor C # 메서드를 호출 할 수 있다면 좋을 것입니다. 지금 당장은 불가능합니다. JavaScript에서 Blazor C #을 호출하는 것만으로는 작동하지 않습니다 (호출자를 사용할 수 없다는 메시지가 나타납니다).

그러나 Blazor 코드가 실행되면 C # 코드에서 JavaScript 코드를 호출 할 수 있습니다. 이렇게하면 JavaScript 코드가 차례로 Blazor 코드를 호출 할 수 있습니다.

희망이 문제를 해결 ...




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.