我想在我的网站的注册表单中有一个界面。让我们称之为 IShape。有多种接口实现,如 ISquare 和 ICycle,除了接口中声明的共享属性外,每个接口都有自己的属性。
我希望用户能够从所有可能的类型中拥有尽可能多的形状,并能够用我作为 RegisterModel 收到的信息填充它们。
public class RegisterModel
{
[Required]
[Display(Name = "Username")]
public string UserName { get; set; }
[Required]
[Display(Name = "Shapes")]
public List<string> Shapes { get; set; }
}
注册操作:
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
// Iterate over the shapes
model.Shapes ...
}
}
请参考 javascript 问题,因为如果我有多个对象,它们的名称会发生冲突。例如:2 个形状具有 size 属性。如果我创建两个名为“size”的文本框,ASP.NET 引擎将无法解决它。
谢谢!