Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用c#/asp.net模型绑定清除集合_C#_Asp.net Mvc_Asp.net Core Mvc - Fatal编程技术网

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

使用c#/asp.net模型绑定清除集合,c#,asp.net-mvc,asp.net-core-mvc,C#,Asp.net Mvc,Asp.net Core Mvc,是否可以使用模型绑定清除集合 示例模型类: public class TestModel { public String Name { get; set; } public List<String> Strings { get; set; } } 公共类测试模型 { 公共字符串名 { 获得;设置; } 公共列表字符串 { 获得;设置; } } 示例Html: <form> <

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

示例模型类:

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);
}
public IActionResult Post()
{
var model=newtestmodel(){Name=“Old Name”};
model.Strings=新列表();
model.Strings.Add(“旧str 1”);
model.Strings.Add(“旧str 2”);
this.tryupdatemodelsync(model);
}
在这种情况下,TryUpdateModelAsync将同时更新名称和字符串,但是如果我想用TryUpdateModelAsync清除列表,该怎么办

将html更改为:

<form>
    <input type="text" name="Name" valuye="New name" />
    <input type="text" name="Strings" value="" />

    <input type="submit" />
</form>


当然,将字符串更新为具有一个空/空值的列表,并且删除字符串的输入将保持旧列表的完整性(如预期的那样),但是是否有任何魔术可以清除该列表或将其设置为空?

为什么要这样做?在您的操作方法中调用
List.Clear()
或过滤器不起作用的原因是什么?请修复您的标签,说明这是用于哪个框架。cshtml是什么样子的?你到底是如何绑定到文本框的?我相信这是一个足够好的问题“总结”。为什么我要用它来做什么?cshtml在html示例中…@LennartStoop我不确定是否理解您的问题,但是文本框绑定将在controllers方法中发生:tryupdatemodelsync()