【发布时间】:2019-12-15 01:49:24
【问题描述】:
我正在尝试使用 Blazor 以编程方式生成表单,我遇到了一个问题,我需要将 InputText 值绑定到集合的成员,例如:
@foreach (var prop in formProperties)
{
<InputText id=@prop.Name @bind-Value="form.Responses[prop.Name]" />
}
但是,我得到以下异常:
System.ArgumentException: The provided expression contains a InstanceMethodCallExpression1 which is not supported. FieldIdentifier only supports simple member accessors (fields, properties) of an object.
是否可以将输入绑定到某种集合?
【问题讨论】:
-
是的,创建一个采用(绑定)
formProperties的组件。然后创建一个采用prop的子组件。父组件foreach 通过集合,为每个prop渲染一个子组件。然后子组件可以为 prop 的每个属性处理正确的<InputText>字段的呈现并绑定它们。 -
<InputText>字段将绑定到哪里?我怎样才能将这些数据提供给父母? -
使用组件到组件的数据绑定。 Blazor 在名为Chained Bind 的组件之间提供双向数据绑定,通过事件回调和使用命名约定属性
Changed,您可以通知父级更新。
标签: c# asp.net data-binding blazor