标签: blazor-client-side

如何在 Blazor 中覆盖 BaseLayout/BaseComponent

工具栏布局.cs

public class ToolbarLayoutBase : LayoutComponentBase
{
    public string Text { get; set; }

    public virtual void NewData()
    {
        Console.WriteLine("Save Click " + Text);
    }
    public virtual void UpdateData()
    {
        Console.WriteLine("Update Click");
    }
}
Run Code Online (Sandbox Code Playgroud)

工具栏布局 Razor

@inherits ToolbarLayoutBase
BtnSave,BtnUpdate,BtnRemove HTML Button
Run Code Online (Sandbox Code Playgroud)

编辑页面.cs

public class EditPageBase : ToolbarLayoutBase
{

    public override void UpdateData()
    {
        base.UpdateData();
    }

}
Run Code Online (Sandbox Code Playgroud)

编辑页面剃刀

@inherits EditPageBase
@page "/editpage"

<ToolbarLayout  />
Run Code Online (Sandbox Code Playgroud)

我有如上图所示的组件。我想使用我的“ToolbarLayout”组件作为基础组件,我需要方法等,我想改变。就像WinForm中的Base Form结构一样。

.net c# asp.net blazor blazor-client-side

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

.NET Core Blazor WebAssembly 中的本机错误

我的任务是运行 CLI 命令(在客户端系统中)并在 Web 应用程序上向用户显示输出。[假设,一个基于网络的 cmd.exe ]

基于对 WebAssembly 功能的了解,我使用 .NET CORE Blazor WebAssembly 来完成该任务。但是在客户端中使用System.Diagnostics.ProcessStartInfo会引发运行时错误Native error= Cannot find the specified file

如果我对 WebAssembly 的理解有误,请告诉我。另外,建议我如何完成任务?

Razor 页面中使用的代码:

protected override async Task OnInitializedAsync()
{
    quiz = await Http.GetJsonAsync<List<QuizItem>>("Quiz");

    // My actual code...
    string process = @"C:\Windows\System32\cmd.exe", arguments = "start", workingFolder = ".";
    System.Diagnostics.ProcessStartInfo startinfo = new System.Diagnostics.ProcessStartInfo {
        FileName = process, Arguments = arguments, WorkingDirectory = workingFolder,
        CreateNoWindow = false, UseShellExecute = false,
        RedirectStandardError = true, RedirectStandardOutput …
Run Code Online (Sandbox Code Playgroud)

.net-core webassembly blazor blazor-client-side

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

在 Blazor WebAssembly 中,如何编写警告或信息?

在 Blazor WebAssembly 中,Console.WriteLine将日志写入 Javascript 控制台,并Console.Error.WriteLine写入错误。有没有办法在不使用 Javascript 的情况下编写警告或信息 - Blazor 相当于 Javascriptconsole.warnconsole.info

(一般来说,对于任何给定的函数调用,如何找出 Javascript 互操作是否有 Blazor 替代方案?)

blazor blazor-client-side

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

Blazor 导航栏未显示初始值

我正在尝试与 blazor 合作进行一个学习项目。安装 blazorise 后,导航栏无法像以前一样工作。一旦我启动了 web 应用程序,导航栏就没有显示,当我最小化 chrome 时,导航栏-toggler-icon 就会出现,点击该图标后,我可以看到我的导航栏。

在 NavMenu.razor 页面上,我只添加了一些导航链接(见下面的代码)。所以css类是原始的。我在 chrome 上没有任何错误。侧边栏启动后生成的html是:

<div class="sidebar"><!--!-->
    <!--!--><div class="top-row pl-4 navbar navbar-dark"><!--!-->
    <!--!--><a class="navbar-brand" href="">Rappenspalter</a>
    <button class="navbar-toggler"><!--!-->
        <span class="navbar-toggler-icon"></span>
    </button><!--!-->
</div><!--!-->

<div class="collapse"><!--!-->
    <ul class="nav flex-column"><!--!-->
        <li class="nav-item px-3"><!--!-->
            <!--!--><a href="" class="nav-link active"><!--!-->
                <span class="oi oi-home" aria-hidden="true"></span> Home
            </a><!--!-->
        </li><!--!-->
        <li class="nav-item px-3"><!--!-->
            <!--!--><a href="counter" class="nav-link"><!--!-->
                <span class="oi oi-plus" aria-hidden="true"></span> Counter
            </a><!--!-->
        </li><!--!-->
        <li class="nav-item px-3"><!--!-->
            <!--!--><a href="fetchdata" class="nav-link"><!--!-->
                <span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
            </a><!--!-->
        </li><!--!-->
        <li class="nav-item px-3"><!--!--> …
Run Code Online (Sandbox Code Playgroud)

bootstrap-4 blazor-client-side blazorise

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

如何从 Razor Pages (Blazor WebAssembly) 中的 launchSettings.json 文件访问属性?

        "APIs": {
        "API-1": "http://localhost:5000/student",
        "API-2":  "http://localhost:5001/teacher"}
Run Code Online (Sandbox Code Playgroud)

我在 launchSettings.json 文件中创建了这些属性。现在我需要访问 Student.razor 页面中的 API-1 和 API-2 值。我尝试像这样使用它..

List<Student> students = await http.GetFromJsonAsync<List<Student>>("API-1");
    
Run Code Online (Sandbox Code Playgroud)

blazor blazor-client-side asp.net-blazor blazor-webassembly

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

获取当前用户 Blazor webassembly 的 UserId

所以我正在编写一个带有 asp.ner 核心标识的 Blazor webassembly 应用程序。我需要获取当前用户的 ID,而不是 Identy 中的方法提供的用户名。

方法

语境。用户.身份.名称

提供用户名,但我需要模型/表中 fk 的 ID。

我不能使用用户名,因为用户名可能会改变。

我已经在网上搜索过,但是我一直只看到返回的用户名。

任何帮助将不胜感激。

entity-framework asp.net-core blazor blazor-client-side blazor-webassembly

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

在 Blazor Wasm 中读取本地/静态文件

我的项目是在Blazor WASM 中创建的(我不想使用 Blazor 服务器)

我想从 wwwroot 读取 XSD 文件:

在此处输入图片说明

在我的 XsdService.cs - C# 类中,我正在尝试:

string pathToXsd = Path.Combine("plcda","extPL_r2.xsd");
string transformataHTML = System.IO.File.ReadAllText(pathToXsd);
Run Code Online (Sandbox Code Playgroud)

但是,我总是收到错误:

Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
      Unhandled exception rendering component: Could not find a part of the path "/plcda/extPL_r2.xsd".
System.IO.DirectoryNotFoundException: Could not find a part of the path "/plcda/extPL_r2.xsd".
Run Code Online (Sandbox Code Playgroud)

那么是否有机会将自定义/静态/本地文件包含到 Blazor WASM 中?即使应用程序离线也能阅读它们?

c# progressive-web-apps blazor blazor-client-side blazor-webassembly

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

Blazor WebAssembly。在布局级别添加授权属性

我从一个 Visual Studio 模板开始,一个新的 Blazor WebAssembly,以身份验证和 Web API 作为服务器端。

我的问题是保护所有页面而不仅仅是某些页面。我尝试添加:

@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
Run Code Online (Sandbox Code Playgroud)

到 MainLayout 而不是所有页面,但没有任何运气。我想这样做是因为我正在写一个管理员,如果没有连接,我根本不希望人们看到布局

.net asp.net-core blazor-client-side blazor-webassembly

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

在 Blazor SPA 上嵌入 Leaflet 地图

如何在 Blazor SPA 上嵌入 Leaflet 地图、使用 JSInterop、应定义哪些对象以及如何将表示在地图上单击的位置的数据从 JavaScript 传递到 Blazor

leaflet blazor blazor-server-side blazor-client-side blazor-webassembly

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

Blazor - 如何为超出该数据类型最大值的值自定义 InputNumber 验证消息?

例如,如果我有一个底层数据类型为 int 的 InputNumber,我想显示一条消息,指出不允许大于 int.MaxValue 的数字。目前,如果我要尝试任何大于整数最大值的数字,我会收到一条默认消息:“该字段必须是数字”。该消息显然不正确,我想更改它。有没有办法在 Blazor 中做到这一点?

blazor blazor-server-side blazor-client-side asp.net-blazor blazor-webassembly

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

我如何在另一个组件中即时多次动态渲染 blazor 组件(例如:每次单击按钮)

我想在每次单击按钮时通过动态添加其他 blazor 组件来更新视图。我怎样才能做到这一点。

例如:每次单击组件 1 上的按钮时,应立即将组件 2 添加到组件 1 中。

blazor blazor-server-side blazor-client-side

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

在不相关的组件上调用 OnSetParameterAsync

我目前正在开发一个使用 Blazor WebAssembly 作为前端框架的项目,但是,我认为我在状态管理方面遇到了一些复杂情况。这个问题发生在一个大型复杂的解决方案中,因此我重新创建并简化了它,这样我就可以在这里简洁地描述它,而不会显得臃肿。

我有一个包含两个组件的页面:朋友列表和关注者列表,每个组件都有一个按钮来切换按升序或降序对列表进行排序。

如果我重写并在FollowerList组件内部的OnParametersSetAsync上放置一个断点,然后单击FriendList组件的排序按钮,它会命中我在FollowerList组件上设置的断点。

我的印象是,只有当提供给该组件的属性发生更改或其状态发生更改时,才会在该组件上调用OnParametersSet/Async。在下面的代码中,您可以看到我有两个单独的列表,一个被馈送到一个组件,一个被馈送到另一个组件,所以我不确定如何在未触及的组件上触发此方法......

因此我的问题是:为什么它会在不相关的组件上遇到断点?这是故意行为吗?

页面预览

索引页,包含两个列表

索引剃刀

@page "/"
<button value="Sort Friends" @onclick=SortFriends>Sort Friends</button>
<FriendList Friends=SortedFriends />

<button value="Sort Followers" @onclick=SortFollowers>Sort Followers</button>
<FollowerList Followers=SortedFollowers />
Run Code Online (Sandbox Code Playgroud)

Index.cs(隐藏代码)

using StateManagementTest.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace StateManagementTest.Pages
{
    public partial class Index
    {
        public List<Friend> MyFriends { get; set; }
        public List<Friend> SortedFriends { get; set; }

        public List<Follower> MyFollowers { get; …
Run Code Online (Sandbox Code Playgroud)

c# blazor blazor-client-side blazor-webassembly

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