Select Control Set Initial Value(选择控制集初始值)
本文介绍了选择控制集初始值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们知道使用InputSelect不能同时使用@bind-value和@onchange.
但是,如果我们使用后者(使用select而不是InputSelect),我们如何设置与第一个不同的初始值?(例如,在设置为2018的此示例中,变量的值)
类似if (i == month) => selected
<select @onchange="ChangeYear">
@for (int i = 2015; i < DateTime.Now.Year + 1; i++)
{
<option value="@i">@i</option>
}
</select>
@code {
int year = 2018;
void ChangeYear(ChangeEventArgs e)
{
int year = Convert.ToInt32(e.Value.ToString());
//...
}
}
推荐答案
可以通过多种方式实现它,例如,定义绑定到SELECT元素的Value属性的局部变量SelectedYear,以及更新SelectedYear的Change事件。这实际上创建了双向数据绑定。
请注意,SelectedYear被分配了默认值2018
<select value="@SelectedYear" @onchange="ChangeYear">
@for (int i = 2015; i < DateTime.Now.Year + 1; i++)
{
<option value="@i">@i</option>
}
</select>
<p>@SelectedYear</p>
@code
{
private int SelectedYear { get; set; } = 2018;
void ChangeYear(ChangeEventArgs e)
{
SelectedYear = Convert.ToInt32(e.Value.ToString());
}
}
我们知道使用InputSelect不能同时使用@bind-value和 @onchange
这是因为编译器添加了Change事件处理程序来将InputSelect组件的值(请注意,它是@bind-value,而不是@bind-value)属性更新为新选择的值。这就是您可以这样做的原因:
<p>@SelectedYear</p>
<EditForm Model="@employees">
<DataAnnotationsValidator />
<div>
<InputSelect @bind-Value="SelectedYear" Id="SelectedYear" Class="form-control">
@for (int i = 2015; i < DateTime.Now.Year + 1; i++)
{
<option value="@i">@i</option>
}
</InputSelect>
</div>
<button type="submit">Ok</button>
</EditForm>
@code
{
private string SelectedYear { get; set; } = "2018";
public List<Employee> employees = new List<Employee>();
public class Employee
{
public int YearBorn { get; set; }
public string Name { get; set; }
}
}
这篇关于选择控制集初始值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:选择控制集初始值
基础教程推荐
猜你喜欢
- 我应该在后面的代码中直接使用 Linq To SQL 还是使 2022-01-01
- Moq It.Is<>不匹配 2022-01-01
- C# 从 List<List<int>> 中删除重 2022-01-01
- 当值可以是对象或空数组时反序列化 JSON 2022-01-01
- 如何使用 .Net 检查 Active Directory 服务器是否已启动并正在运行? 2022-01-01
- WPF 模态进度窗口 2022-01-01
- 禁止输入少量字符,例如'<'、'&a 2022-01-01
- 如果有人提交恶意软件Nuget包怎么办? 2022-01-01
- Azure Functions:CosmosDBTrigger 未在 Visual Studio 中触发 2022-01-01
- .NET SerialPort DataReceived 事件未触发 2022-01-01
