gpt4 book ai didi

.net - 使用自定义模型绑定(bind)器绑定(bind)非顺序列表

转载 作者:行者123 更新时间:2023-12-04 08:55:45 26 4
gpt4 key购买 nike

我知道如果我想将非顺序元素绑定(bind)到 MVC 中的列表,我可以使用 Index语法描述here .

但是,我无法通过远程验证来使用它(使用 Remote 属性)。

例如,如果我有这样的模型:

public class AddUsers {
public List<User> Users { get; set; }
public string Comment { get; set; }
}

public class User {
[Remote("UsernameAvailable", "User")]
public string Name { get; set; }
}

然后假设在我看来我有以下内容(为了清楚起见,我故意省略了我正在使用的 Html 助手):
<input type="hidden" name="Users.Index" value="foo" />
<input type="text" name="Users[foo].Name" />

<input type="hidden" name="Users.Index" value="bar" />
<input type="text" name="Users[bar].Name" />

在表单帖子中, Index字段随顺,这有助于模型绑定(bind)器很好地绑定(bind)所有内容,例如:
Comment=bla&Users.Index=foo&Users[foo].Name=john&Users.Index=bar&Users[bar].Name=bob

但是当远程验证触发时,只有这个被发送到我的操作(两个单独的请求,每个被验证的项目一个):
Users[foo].Name=john
Users[bar].Name=bob

没有 Index , 模型绑定(bind)器不知道如何处理这个。它既不能绑定(bind)到 User , 一个 List<User> ,也不是 AddUser .

这让我想到了我的问题。

是否有一种方法可以编写自定义模型绑定(bind)器,它可以处理非顺序列表,而无需使用 Index符号?我必须承认,我很难理解为什么 Index符号将是必要的(也许作为某种优化除外)。

我正在使用 MVC 4 和 .NET 4.5。

注:我以前从来没有弄乱过自定义模型绑定(bind)器,所以我真的只是在寻找一些关于它是否可能(或只是一个死胡同)的一般指导,以及一些入门指南。

最佳答案

I was able to solve my problem by adapting the solution from this answer – Eric Mar 22 '13 at 22:28

关于.net - 使用自定义模型绑定(bind)器绑定(bind)非顺序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15576441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com