您可以通过使用您的值创建 a 来创建自己的源NameValueCollection
,然后使用它来创建 a FormCollection
,然后您可以直接将该表单集合用作值提供者。
此外,FormCollection
还有一种Add
方法,您可以在其中直接添加值。
var values = new NameValueCollection { { "ID", "1" }, {"Name": "Bob"} }; // etc.
var collection = new FormCollection(values);
// or...
// var collection = new FormCollection();
// collection.Add("ID", "1");
// collection.Add("Name", "Bob");
// etc.
TryUpdateModel(userToUpdate, new string[] { "ID", "Name", "Age", "Gender" }, form);
如果您要绑定平面模型(例如,User
在本例中),上述示例就足够了。但是,如果您的字段有前缀(如果您正在执行深度模型绑定,可能会出现这种情况),请用点分隔前缀:
var collection = new FormCollection();
collection.Add("User.ID", "1");
collection.Add("User.Name", "Bob");
// Binds to fields with the prefix "User"
TryUpdateModel(userToUpdate, "User", new string[] { "ID", "Name", "Age", "Gender" }, null, form);