1.976 messaggi dal 27 luglio 2005
Contributi
ciao a tutti,

sto facendo i miei primi esperimenti con Blazor, spero qui sia il posto giusto...
sto provando cose facili e basiche, ma non trovo soluzione per un problema di utilizzo di JsInterop e codice js..

usando il progetto nuovo di "default" per blazor wasm (VS2022, target fwk 6.0), ho aggiunto un po' di rghe alla tabella in FetchData.razor al fine di vedere la VScroll bar...

Vorrei mettere uno sticky button per testare un "go top" via java script.. Ho aggiunto un file wwwroot\Scripts\myJs.js che scrive un semplice (vedi aspitalia.com/script/1418/Eseguire-Scroll-Interno-Pagina-Blazor.aspx)
function scrollToTop() {
document.documentElement.scrollTop = 0;
}


e l'ho referenziato in index.html,
<script src="_framework/blazor.webassembly.js"></script>
<script src="Scripts/myJs.js"></script>


il markup di FetchData.razor ora include la chamata JsInterop similarmente a

@page "/fetchdata"
@using BlazorApp5.Shared
@inject HttpClient Http
@inject IJSRuntime JSRuntime

...
<button @onclick="OnGoTopClick" type="button" class="btn-sm btn-group-sm" style="bottom:20px; right:20px; position:fixed; z-index:9000;">Go Top</button>

@code{
...
    private async void OnGoTopClick()
    {
        await JSRuntime.InvokeVoidAsync("scrollToTop");
    }
}


ma la chiamata fallisce sempre alla prima esecuzione, riportando l'eccezioneMicrosoft.JSInterop.JSException: Could not find 'scrollToTop' ('scrollToTop' was undefined).
Se faccio il reload della pagina, la chiamata alla funzione js avviene con successo...

quindi mi manca qualche cosa da qualche parte....

VS 2022, a .Net6 wasm prj

Avete qualche indicazione, per favore?

salutoni romagnoli
--
Andrea

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.