Событие компонента Razor не запускается на странице Razor - PullRequest
0 голосов
/ 30 января 2020

Как получить события, запускаемые в компоненте Razor, работающем на странице Razor?

Мой запуск:

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddRazorPages();
            services.AddServerSideBlazor();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Error");
            }

            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapRazorPages();
                endpoints.MapBlazorHub();
            });
        }

Моя страница Razor, вызывающая компонент:

@page
@model DocketDetail.OrderModel
@{
    Layout = null;
}
@using RelationalObjectLayerCore;

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <script src="~/lib/jquery/dist/jquery.js"></script>
    <link href="~/lib/bootstrap/dist/css/bootstrap.css" rel="stylesheet" />
    <script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>

    <script src="_framework/blazor.server.js"></script>

    <script src="~/js/site.js"></script>
    <title>Order</title>
</head>
<body>
<component type="typeof(Component.Filedby)" render-mode="ServerPrerendered"  />
</body>

Все отображается правильно.

Мой компонент:

@using Microsoft.AspNetCore.Components


@code {

    private void SearchPerson()
    {
        string x = "TEST";
    }    
}


<button @onclick="SearchPerson">Search</button>

Очевидно, что это сравнено с моим реальным кодом ... но я не могу понять, как получить "SearchPerson" стрелять в компоненте бритвы.

Ответы [ 2 ]

1 голос
/ 30 января 2020

Найдено: https://docs.microsoft.com/en-us/aspnet/core/blazor/hosting-models?view=aspnetcore-3.1#integrate -zazor-components-into-razor-pages-and- mvc -apps

С этим небольшим примечанием:

Добавить тег <script> для сценария blazor.server. js внутри закрывающего тега </body>:

HTML

<script src="_framework/blazor.server.js"></script>

Перемещено мой сценарий и теперь он работает.

Спасибо всем за ваши предложения.

0 голосов
/ 30 января 2020

Мне кажется, я вижу, что ты пытаешься сделать. Не уверен, что это сработает так, как вы собираетесь. Компонент будет отображаться с использованием Blazor, но код, прикрепленный к кнопке, не будет работать. Поместите @code{} для вашей кнопки на странице, которая загружается. Или вы можете сделать перегрузку OnInitialized(), если хотите, чтобы этот код запускался при каждой загрузке страницы.

Кроме того, убедитесь, что Blazor правильно отображает в браузере. Используйте F12 и убедитесь, что написано подключено.

https://docs.microsoft.com/en-us/aspnet/core/blazor/lifecycle?view=aspnetcore-3.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...