标签: blazor

MudBlazor的paper和element的区别

Mudblazor 对于类似 div 的标签有两个概念:MudElementMudPaper。(它们与其他封闭元素不同,例如用于布局的aMudContainerMudGrid/ 。)MudItem

许多示例几乎只使用其中之一,因此这似乎是个人选择。他们看起来和我很相似。

它们只是 a 的 blazor 表示吗<div>?我什么时候会使用其中之一?

blazor mudblazor

1
推荐指数
1
解决办法
1516
查看次数

如何将 MudAppBar 中的背景颜色更改为线性背景颜色以及如何在 MudAppBar 中居中 MudText

如何将 MudAppBar 中的背景颜色更改为线性背景颜色 如何在 MudAppBar 中居中 MudText

<MudThemeProvider />
<MudDialogProvider />
<MudSnackbarProvider />

<MudLayout>

    <MudAppBar Elevation="1">
        <MudIconButton Icon="@Icons.Material.Filled.Menu" Color="Color.Inherit" Edge="Edge.Start" OnClick="@((e) => DrawerToggle())" />
        <MudText Typo="Typo.h4"  Class="ml-3">My Application</MudText>
        <MudSpacer />
        <MudIconButton Icon="@Icons.Material.Filled.MoreVert" Color="Color.Inherit" Edge="Edge.End" />
    </MudAppBar>

    <MudDrawer @bind-Open="_drawerOpen" ClipMode="DrawerClipMode.Docked" Elevation="2">
        <NavMenu/>
    </MudDrawer>
    
    <MudMainContent>        
        <MudContainer MaxWidth="MaxWidth.ExtraLarge">
            @Body
        </MudContainer>
    </MudMainContent>

</MudLayout>
@code {
    bool _drawerOpen = true;

    void DrawerToggle()
    {
        _drawerOpen = !_drawerOpen;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何将 MudAppBar 中的背景颜色更改为线性背景颜色 如何在 MudAppBar 中居中 MudText

blazor mudblazor

1
推荐指数
1
解决办法
2048
查看次数

未调用 OnInitializedAsync 方法

我浏览到 abc.razor OnInitializedAsync() 方法被调用。

现在在 OnvalidSubmit 方法中我有以下代码

  NavManager.NavigateTo("/abc?rid=1", false, true);
Run Code Online (Sandbox Code Playgroud)

这意味着它应该再次导航到 abc.razor 页面。它确实导航但不调用 OnInitializedAsync() 方法?

为什么这样?

blazor

1
推荐指数
1
解决办法
934
查看次数

MAUI Blazor 的用途是什么?

我认为这个问题是不言自明的。

MAUI 是跨平台 UI 框架 Xamarin.Forms 的演变。

Blazor 是 MS 的新前端 C# 框架。

然而,MAUI Blazor,我不清楚。

我怀疑它是以下之一:

  • 本质上是 Blazor 的 Web 视图包装器,类似于 Electron 的工作方式。
  • 允许您将 MAUI 应用程序定位为网络(我认为您无论如何都可以这样做,但我可能是错的)
  • 允许您将 Blazor 应用程序定位到本机

那么混合 maui/blazor 应用程序到底有什么用呢?他们可以让您做哪些仅使用 MAUI 或 Blazor 无法完成的事情?

c# blazor maui maui-blazor

1
推荐指数
1
解决办法
524
查看次数

将 Blazor WebAssembly 应用程序隐藏在登录墙后面的最佳方法

我需要构建一个 ASP.NET Core 托管的 Blazor Web assembly 应用程序 (.NET 6),其中所有应用程序功能都隐藏在登录墙后面,但我不确定如何最好地实现这一点。对于身份验证/授权,我使用 ASP.NET Identity 和 IdentityServer。

到目前为止,我已经创建了一个名为的新 Razor 组件Login.razor,它仅包含一个触发内置身份验证过程的链接:

<a href="authentication/login">Log in</a>
Run Code Online (Sandbox Code Playgroud)

该组件具有该@page指令"/",因此它是用户访问应用程序时登陆的第一个“页面”。

这工作得很好,但是一旦用户成功登录,他们就会被重定向到返回 URL,作为 .NET 身份过程的一部分,在本例中,这是一个现在无用的登录页面。

我不想只替换身份页面中的返回 URL 并将用户重定向到另一个特定页面,因为我认为返回 URL 在向用户发送指向特定页面的链接的情况下非常有用。例如,如果我尝试在不先登录的情况下导航到 mywebsite.com/fetchdata 等受保护资源,它会触发 Blazor 附带的任何身份验证魔法,让用户登录,然后在用户登录后将其重定向到 /fetchdata成功地做到了。我想保留这个功能。

"/index"如果用户来自 Login.razor 组件,我需要做什么才能让服务器重定向到另一个页面(例如)?或者我只是以完全错误的方式处理这一切?非常感谢任何建议。

asp.net-identity asp.net-core blazor blazor-webassembly hosted-blazor-webassembly

1
推荐指数
1
解决办法
465
查看次数

在这种情况下如何使用级联类型参数?

Index.razor.cs:

我正在开发一个网格组件,它将显示一个项目列表:

<Grid Items="Transactions">
    <GridHeader>
        <GridColumn TItem="Transaction">ID</GridColumn>
        <GridColumn TItem="Transaction">Date</GridColumn>
    </GridHeader>
</Grid> 
Run Code Online (Sandbox Code Playgroud)

然后在 Grid.razor.cs 和 GridColumn.razor.cs 中我使用 typeparam TItem。但似乎我需要将 TITem 作为每个网格列中的参数传递,我该如何实现对类似以下内容的支持:

<Grid Items="Transactions" TItem="Transaction">
    <GridHeader>
        <GridColumn>ID</GridColumn>
        <GridColumn>Date</GridColumn>
    </GridHeader>
</Grid>   
Run Code Online (Sandbox Code Playgroud)

因此,TItem 会级联到所有子组件(无论它们嵌套的深度如何)

我查看了 CascadingTypeParam 但有关它的信息很少,所以我不确定如果它是上述解决方案,如何使用它。

blazor blazor-server-side blazor-webassembly

1
推荐指数
1
解决办法
546
查看次数

变量未分配给从 C# 中的 URL 获取的结果

我遇到这个问题已经有一段时间了,为了重现该错误,我创建了一个新的 Blazor 项目来向您显示所有文件。

这是我的index.razor文件:

@using BlazorApp1.Models.TestSuiteModel; 
@inject BlazorApp1.Services.TestSuiteService TestSuiteServ; 
@page "/"


<b> 

    @TestSuitesResult.count; 

</b>



@code {

    protected override async Task OnInitializedAsync()
    {

        this.GetTestSuites(); 
    }


    TestSuiteModel TestSuitesResult;
    protected async Task GetTestSuites()
    {
        TestSuiteServ.url = "https://dev.azure.com/****/_apis/test/Plans/12/suites?api-version=5.0";
        TestSuiteServ.PersonalAccessToken = "****";
        TestSuitesResult = await TestSuiteServ.GetTestSuites();
        await base.OnInitializedAsync();

    }

}
Run Code Online (Sandbox Code Playgroud)

问题是@TestSuitesResult.count;始终为空并引发此错误: 在此输入图像描述

下面是我的模型

namespace BlazorApp1.Models.TestSuiteModel
{
    public class TestSuiteModel
    {
        public List<Value> value { get; set; }
        public int count { get; set; }
    }
 // .. mode classes
}
Run Code Online (Sandbox Code Playgroud)

以下是我的服务

using …
Run Code Online (Sandbox Code Playgroud)

c# blazor

1
推荐指数
2
解决办法
286
查看次数

如何从 MudCheckBox 控件调用 CheckedChanged

请帮我。

我没有找到 MudCheckBox 的任何 CheckedChanged 示例。我得到的结果仅与输入控制相关。

<input type="checkbox" @onchange="HandleCheck" />
Run Code Online (Sandbox Code Playgroud)

我尝试了这些文档,但没有得到MudCheckBox的确切示例。我能够成功绑定到 IsCheckedTrue 属性。该复选框位于 MudTable 内。我想调用CheckedChanged事件。

<MudCheckBox @bind-Checked="@context.IsCheckedTrue" Color="Color.Secondary" CheckedIcon="@Icons.Material.Filled.RadioButtonChecked" UncheckedIcon="@Icons.Material.Filled.RadioButtonUnchecked"></MudCheckBox>
Run Code Online (Sandbox Code Playgroud)

c# blazor mudblazor

1
推荐指数
1
解决办法
3269
查看次数

MudBlazor:单击外部对话框时防止关闭(在覆盖层上)

单击覆盖层(对话框外部)时是否可以防止关闭 MudBlazor 对话框?或者在单击覆盖层时运行任务?

c# blazor blazor-server-side mudblazor

1
推荐指数
1
解决办法
909
查看次数

ASP.NET Core 8 和 Blazor Web Assembly 应用程序运行时配置

我正在关注本教程https://dotnet.microsoft.com/en-us/learn/aspnet/blazor-tutorial/run,它构建了一个非常基本的 Blazor 应用程序。但是该项目无法在 ASP.NET Core 8 上运行。您能否帮忙找出为什么<app>runtimeconfig.json在构建 Blazor 项目时没有生成该文件?这是必需的,因为否则该项目将无法运行。该项目已成功构建,但我无法运行它。

我得到的错误是:

WasmAppHost --use-staticwebassets --runtime-config runtimeconfig.json
错误:无法在 /bin/Debug/net8.0/ 找到运行时配置

我尝试GenerateRuntimeConfigDevFile在文件中将属性设置为 true,.csproj如下所述: https: //learn.microsoft.com/en-us/dotnet/core/runtime-config/

但仍然没有创建 json 文件。

我尝试使用此处找到的模式手动创建它: https: //gist.github.com/natemcmaster/0bdee16450f8ec1823f2c11af880ceeb,但我收到有关缺少 WasmHostProperties 的错误。wasm 应用程序必须有一些特定的东西。

我想出了这个:

{
    "runtimeOptions": {
       "tfm": "net8.0",
       "frameworks": [
           {
               "name": "Microsoft.NETCore.App",
               "version": "8.0.0"
           },
           {
               "name": "Microsoft.AspNetCore.App",
               "version": "8.0.0"
           }
       ],
       "configProperties": {
           "System.GC.Server": true,
           "System.Reflection.NullabilityInfoContext.IsSupported": true,
           "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
       },
       "wasmHostProperties": {
           "webServerPort":"7238",
           "perHostConfig": [
        {
            "name": "wasmAppHost",
            "host-args": [
                "--experimental-wasm-simd", …
Run Code Online (Sandbox Code Playgroud)

blazor blazor-webassembly .net-8.0 asp.net-core-8

1
推荐指数
1
解决办法
1358
查看次数