Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Blazor中绑定单选按钮?_C#_Binding_Radio Button_Blazor - Fatal编程技术网

C# 如何在Blazor中绑定单选按钮?

C# 如何在Blazor中绑定单选按钮?,c#,binding,radio-button,blazor,C#,Binding,Radio Button,Blazor,blazor中没有单选按钮绑定。根据文档,建议使用InputRadio标记,但该标记在blazor中不起作用,并显示绑定问题。关于如何绑定单选按钮的任何建议当然是这样,下面将对其进行说明: @使用系统全球化 @类型参数TValue @继承InputBase @代码{ [参数] 公共TValue SelectedValue{get;set;} 私有void OnChange(ChangeEventArgs args) { CurrentValueAsString=args.Value.ToStri

blazor中没有单选按钮绑定。根据文档,建议使用InputRadio标记,但该标记在blazor中不起作用,并显示绑定问题。关于如何绑定单选按钮的任何建议

当然是这样,下面将对其进行说明:

@使用系统全球化
@类型参数TValue
@继承InputBase
@代码{
[参数]
公共TValue SelectedValue{get;set;}
私有void OnChange(ChangeEventArgs args)
{
CurrentValueAsString=args.Value.ToString();
}
受保护的重写bool TryParseValueFromString(字符串值,
输出值结果,输出字符串错误消息)
{
var success=bindconvertto.TryConvertTo(
值,CultureInfo.CurrentCulture,out var parsedValue);
如果(成功)
{
结果=解析值;
errorMessage=null;
返回true;
}
其他的
{
结果=默认值;
errorMessage=$“{FieldIdentifier.FieldName}字段无效。”;
返回false;
}
}
}
用法

@page”/RadioButton示例
@使用System.ComponentModel.DataAnnotations
单选按钮组测试
@对于(int i=1;i更新链接:
@using System.Globalization
@typeparam TValue
@inherits InputBase<TValue>

<input @attributes="AdditionalAttributes" type="radio" value="@SelectedValue" 
       checked="@(SelectedValue.Equals(Value))" @onchange="OnChange" />

@code {
    [Parameter]
    public TValue SelectedValue { get; set; }

    private void OnChange(ChangeEventArgs args)
    {
        CurrentValueAsString = args.Value.ToString();
    }

    protected override bool TryParseValueFromString(string value, 
        out TValue result, out string errorMessage)
    {
        var success = BindConverter.TryConvertTo<TValue>(
            value, CultureInfo.CurrentCulture, out var parsedValue);
        if (success)
        {
            result = parsedValue;
            errorMessage = null;

            return true;
        }
        else
        {
            result = default;
            errorMessage = $"{FieldIdentifier.FieldName} field isn't valid.";

            return false;
        }
    }
}
@page "/RadioButtonExample"
@using System.ComponentModel.DataAnnotations

<h1>Radio Button Group Test</h1>

<EditForm Model="@model" OnValidSubmit="@HandleValidSubmit">
    <DataAnnotationsValidator />
    <ValidationSummary />

    @for (int i = 1; i <= 5; i++)
    {
        <label>
            <InputRadio name="rate" SelectedValue="i" @bind-Value="model.Rating" />
            @i
        </label>
    }

    <button type="submit">Submit</button>
</EditForm>

<p>You chose: @model.Rating</p>

@code {
    private Model model = new Model();

    private void HandleValidSubmit()
    {
        ...
    }

    public class Model
    {
        [Range(1, 5)]
        public int Rating { get; set; }
    }
}