小编Col*_*ain的帖子

如何从 Blazor @code 块中的单选框/复选框表单提交中获取数据?

我正在制作一个使用问题组件的测验/考试页面。问题包含带有复选框或单选选项和提交按钮的答案。当用户单击提交(或其他按钮类型)时,我需要能够将所选答案与正确答案进行比较,但我不确定如何获取 @code 块中输入的值加工。

我弄乱了@bind-value,但它似乎与按钮点击完全没有关系,我只想要一个答案的值,即选定的答案。

到目前为止,使用“提交”按钮似乎不是正确的路线,因为它执行 POST 请求,这不是我正在寻找的行为。我只希望按钮触发组件中的处理。

这是我的组件

<form>
    <div class="q-card">
        <h3>@Question.QuestionText</h3>
        @foreach (var option in Question.Options)
        {
            <div>
                <input type="@Question.InputType" id="@answer" name="@Question.Id" value="@answer"/>
                <label for="@answer">@answer</label>
            </div>
        }
        <div class="q-controls">
            <button type="submit"@onsubmit="@OnSubmit">Submit</button>
        </div>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

和我的@code 块

@code {
    public string answer;

    public void OnSubmit()
    {
        System.Console.WriteLine(answer);
    }
}
Run Code Online (Sandbox Code Playgroud)

answer当我单击提交时,我希望选择中的值最终出现在变量中。我意识到如果有多个答案(复选框),我需要更改此变量,但稍后我会谈到。

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

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

标签 统计

asp.net-core ×1

blazor ×1

blazor-server-side ×1

c# ×1