小编Wlb*_*thy的帖子

Blazor <NavLink> 样式作为组件包含时停止工作

为了重现这个问题,我创建了一个 MenuItemComponent

<li class="nav-item px-3">
    <NavLink class="nav-link" href="fetchdata">
        <span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
    </NavLink>
</li>
Run Code Online (Sandbox Code Playgroud)

然后将该组件包含到 NavMenu 文件中

<div class="top-row pl-4 navbar navbar-dark">
    <a class="navbar-brand" href="">Porcellus</a>
    <button class="navbar-toggler" @onclick="ToggleNavMenu">
        <span class="navbar-toggler-icon"></span>
    </button>
</div>

<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
    <ul class="nav flex-column">
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
                <span class="oi oi-home" aria-hidden="true"></span> Home
            </NavLink>
        </li>
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="counter">
                <span class="oi oi-plus" aria-hidden="true"></span> Counter
            </NavLink>
        </li>
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="fetchdata">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
            </NavLink> …
Run Code Online (Sandbox Code Playgroud)

css asp.net-core blazor blazor-server-side

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

如何在 blazor 中将变量传递到组件的 @typeparam

我创建了一个 TestComponent.razor

@typeparam TValue

@code {
    private TValue Type { get; set; }
    [Parameter] public string String { get; set; }
}

Run Code Online (Sandbox Code Playgroud)

在index.razor页面中我有以下内容:

@page "/"

<h1>Hello, world!</h1>

Welcome to your new app.

<SurveyPrompt Title="How is Blazor working for you?" />

<ComponentFactory.Data.SampleComponent TValue="@myType" String="@myString"></ComponentFactory.Data.SampleComponent>

@code{
    Type myType { get; set; } = typeof(string);
    string myString { get; set; } = "hello";
}
Run Code Online (Sandbox Code Playgroud)

我无法Type myType进入TValue,除非我制作myType当前@typeparam页面

为什么会发生这种情况?有没有办法将变量传递到组件中@typeparam

c# asp.net-core blazor blazor-server-side .net-5

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

将 EditForm 绑定到数组时如何让 EditContext.Validate() 工作

我创建了一个EditForm包装表,如下所示:

**Index.razor**


@using System.ComponentModel.DataAnnotations;

<EditForm @ref="Form" Model="vms" OnSubmit="Submit">
    <DataAnnotationsValidator></DataAnnotationsValidator>
    <table class="table">
        <thead>
            <tr>
                <th>Code</th>
            </tr>
        </thead>
        <tbody>
            @foreach (var vm in vms)
            {
                <tr>
                    <td>
                        <InputText @bind-Value="vm.Code"></InputText>
                        <ValidationMessage For="@(() => vm.Code)"></ValidationMessage>
                    </td>
                </tr>
            }
        </tbody>
    </table>
    <input type="submit" class="btn btn-primary" value="Submit" />
</EditForm>

@code{
    List<MyClass> vms;
    EditForm Form;
    class MyClass
    {
        [Required(ErrorMessage ="Required")]
        public string Code { get; set; }
    }
    protected override void OnInitialized()
    {
        vms = new List<MyClass>()
    {
            new MyClass()
            {
                Code = "1111"
            }, …
Run Code Online (Sandbox Code Playgroud)

blazor blazor-server-side

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

标签 统计

blazor ×3

blazor-server-side ×3

asp.net-core ×2

.net-5 ×1

c# ×1

css ×1