是否可以使用模型绑定清除集合?
样本模型类:
public class TestModel
{
public String Name
{
get; set;
}
public List<String> Strings
{
get; set;
}
}
示例Html:
<form>
<input type="text" name="Name" value="New name" />
<input type="text" name="Strings[]" value="New str1" />
<input type="text" name="Strings[]" value="New str2"/>
<input type="text" name="Strings[]" value="New str3"/>
<input type="submit" />
</form>
和控制器代码:
public IActionResult Post()
{
var model = new TestModel() { Name = "Old name" };
model.Strings = new List<String>();
model.Strings.Add("Old str 1");
model.Strings.Add("Old str 2");
this.TryUpdateModelAsync(model);
}
在这种情况下,TryUpdateModelAsync将更新名称和字符串,但如果我想使用TryUpdateModelAsync清除列表该怎么办?
将html更改为:
<form>
<input type="text" name="Name" valuye="New name" />
<input type="text" name="Strings" value="" />
<input type="submit" />
</form>
当然会将字符串更新为具有一个空/空值的列表,并且删除字符串的输入将使旧列表保持原样(如预期的那样),但是有任何魔术技巧可以清除该列表或将其设置为null吗?