您好,我正在构建一个表单表,其中的行具有多个相同的名称。我想在使用插件的情况下以JSON格式提交表单表。 链接-Serialize JSON form plugin
与entityType.ClrType.GetProperties()
。有了这个,我只能得到JSON格式的最后一个字段。它正在用相同的名称替换所有字段,并用最后一个字段替换它。
我希望以JSON格式显示所有字段。 例如-
public static class ModelBuilderExtensions
{
public static ModelBuilder UseValueConverterForType<T>(this ModelBuilder modelBuilder, ValueConverter converter)
{
return modelBuilder.UseValueConverterForType(typeof(T), converter);
}
public static ModelBuilder UseValueConverterForType(this ModelBuilder modelBuilder, Type type, ValueConverter converter)
{
foreach (var entityType in modelBuilder.Model.GetEntityTypes())
{
var properties = entityType.ClrType.GetProperties().Where(p => p.PropertyType == type);
foreach (var property in properties)
{
modelBuilder.Entity(entityType.Name).Property(property.Name)
.HasConversion(converter);
}
}
return modelBuilder;
}
}
相反,我只能得到-
$("#form").serializeJSON();
这是我的代码-
[
{
"field1": "id1",
"field2": "dsda",
"field3": "dsda",
},
{
"field1": "id2",
"field2": "dsda",
"field3": "dsda",
},
{
"field1": "id3",
"field2": "dsda",
"field3": "dsda",
},
]
[
{
"field1": "id3",
"field2": "dsda",
"field3": "dsda",
},
]
答案 0 :(得分:2)
您不能以一种形式包含两个或多个具有相同名称的字段,而是需要通过在每个名称的名称末尾添加[]来告诉html它是一个数组,例如
<tr>
<td><input type="text" name="field1[]"></td>
<td><input type="text" name="field2[]"></td>
<td><input type="text" name="field3[]"></td>
</tr>
<tr>
<td><input type="text" name="field1[]"></td>
<td><input type="text" name="field2[]"></td>
<td><input type="text" name="field3[]"></td>
</tr>