javascript - ASP.NET MVC RegisterModel 与接口(interface)

标签 javascript asp.net-mvc asp.net-mvc-3

我想在我的网站的注册表中添加一个界面。我们称之为 IShape。 有多种接口(interface)实现,例如 ISquare 和 ICycle, 除了接口(interface)中声明的共享属性之外,每个属性都有自己的属性。

我希望用户能够从所有可能的类型中获得尽可能多的形状, 并能够向其中填充信息,这些信息是我作为 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引擎将无法解决这个问题。

谢谢!

最佳答案

我会考虑使用 Knockout.js前端允许用户构建他们的对象列表。它是一个 MVVM 框架,可让您管理客户端事件并操作 DOM。

您可以为服务器添加的每个新形状(在 onclick 事件上)发送一个 ajax 请求。然后,您需要保留用户在数据库或 session 中建立的列表,但是当用户点击确认/提交时,您已经可以访问完整列表,因此可以轻松地立即对所有项目执行验证.

关于javascript - ASP.NET MVC RegisterModel 与接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12309061/

相关文章:

asp.net-mvc-3 - 为什么 Action 参数不能与 Action 同名?

c# - 如何在不破坏 View 的情况下使用 Html Helpers 禁用 ASP.NET MVC3 中的超链接?

javascript - 防止 jQuery 在生成 html 时执行分配给属性的函数

c# - 从 .net 代码和 JavaScript 调用 SignalR hub

asp.net-mvc - "no enabled plugin supports this MIME type"移动设备上的 PDF 文档消息

asp.net-mvc - 我可以在 MVC 区域内部署 javascript 文件吗?

javascript - 格式错误: invalid address

javascript - 在 Angular 的 innerHTML 中使用字符串插值

javascript - 流(类型)不尊重我对类属性所做的手动检查

asp.net-mvc - 将 Silverlight 应用程序转换为 HTML?请提出建议