传递2个参数到OnChange从元素中选择



我得到了这个选择与一组元素,一个元素是一个描述和一个名称。

我想要得到

参数。名称和元素。名称

当选择有变化时。如果我只是使用SelectValueChange,我只是得到元素。名字,但这对我的帮助还不够。什么好主意吗?

<select class="form-control" @onchange="SelectValueChange">
@foreach (Element element in parameter.Domain.Elements)
{
<option value=@element.Name>@element.Description</option>
}
</select>

@code
{
public void SelectValueChange(ChangeEventArgs e) 
{
//how to know what select this is comming from
need to know the parameter.Name value here.
}
}

您不能绑定到对象,这意味着您不能绑定到像这样的元素对象:value=@element。您只能绑定到字符串值。

您可以绑定element.Name,它是字符串,像这样:

<option value="element.Name">@element.Description</option>

你的SelectValueChange可能看起来像这样:

private void SelectValueChange (ChangeEventArags args)
{
var selectedName = args.Value.ToString();
}

参数。名称和元素。名称

你说parameter.Name是什么意思?

请显示更多的代码,如果你还需要帮助…

更新

我可以绑定到元素。名字但是我需要知道这个select的"name"。因为我写了50页。所以我需要知道调用来自哪个select。-

我不确定我是否理解你…您的意思是,您的页面上有50个选择元素与一个单一的SelectValueChange方法,你想知道从哪个选择元素你的SelectValueChange方法被调用?如果是这样,最简单的方法是添加标识select元素的另一个参数。它可以通过多种方式实现……我想最简单的方法如下:

@onchange="@((ChangedEventArgs args) => SelectValueChange(args, "Select1"))"

你的SelectValueChange可能看起来像这样:

private void SelectValueChange (ChangeEventArags args, string selectName)
{
var selectedName = args.Value.ToString();
}

相关内容

  • 没有找到相关文章

最新更新