使用c#/ asp.net模型绑定清除集合

时间:2018-02-22 18:58:27

标签: c# asp.net-mvc asp.net-core-mvc

是否可以使用模型绑定清除集合?

样本模型类:

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吗?

0 个答案:

没有答案