>
> It may be perhaps because it is Friday and I've lost my mind but I can't
> seem to sort out a seemingly simple issue. I have a blazor page with a
> button that calls a service to do something and the service returns an
> object. What I need is to then take this returned object and pass it to a
> different page for viewing. How can this be done?
>
> In an MVC controller action I would just do: return View("new view name",
> model)
>

I know a lot of people are using various MVVM frameworks which enforce all
sorts of patterns, some of them outlandishly complicated just to do things
like you describe, even in small apps that might only have a few pages. I
personally use everything built-in and detest 3rd party dependencies unless
they are unavoidably valuable. No one in the other camp replied yet, so
I'll give you my heretical opinion.

In WPF, UWP, Xamarin Forms and Blazor I usually have a single controller
class instance that represents the "state" of the app, it's created very
early and lives for the lifetime of the app. It consists only of methods
and properties that are classically bindable. One page may load an
Observable<Customer>
list and if you click one it gets set in a SelectedCust property and I
NavigateTo("/detail"). I don't directly pass data to the detail page, it's
been set in an app-wide binding property and it's simply available to any
page. A Blazor app is "alive" and keeps state so you can toss the MVC
mindset and use persistent global values.

Using navigation and binding frameworks (or not) is a religious argument,
and I've had a few at various meetups over the years. I cop a lot of scorn
for my classical approach, but I try to point out that I can take my app
"state" controller class and wrap it in a DOS command or a Xamarin app with
minimal effort.

I haven't directly answered your question, but I hope my comments are
useful.

*Greg K*

Reply via email to