---
# System prepended metadata

title: Razorコンポーネント サンプル `<a>`アンカータグ 2024-01-20
tags: [Razor, コンポーネント, Blazor, アンカータグ]

---

---
lang: ja-jp
breaks: true
---
# Razorコンポーネント サンプル `<a>`アンカータグ 2024-01-20


## TagA.razor

```csharp=
<a href="@Href" target="_blank" rel="noopener noreferrer">@ChildContent</a>
<br />

@code
{
    public TagA()
    {
        Href = string.Empty;
    }

    [Parameter]
    public RenderFragment? ChildContent { get; set; }
    [Parameter]
    public string Href { get; set; }

    protected override void OnInitialized()
    {
        HrefValue = Href;

        if (ChildContent is null)
        {
            // ChildContent に href と同じものを設定する。
            ChildContent = new RenderFragment(builder =>
            {
                builder.AddContent(0, Href);
            });
        }
    }

    private string? m_hrefValue;
    public string? HrefValue
    {
        get => m_hrefValue;
        set
        {
            if (m_hrefValue != value)
            {
                m_hrefValue = value;
                StateHasChanged();
            }
        }
    }
}
```

###### tags: `Blazor` `Razor` `コンポーネント` `アンカータグ`
