ASP.NET MVC3 Intranet站点

时间:2012-07-04 08:01:30

标签: c# database asp.net-mvc-3 web

我正在努力构建这个网站的设计方面,这是我的第一个网站,而且我不确定我需要采用这个项目的正确方向。我之前发布过这个但未完成的很好地解释它。所以我现在会尝试这样做。

本网站将用于提交员工的“创新理念”。它必须连接到现有的MS Access数据库。此数据库中将有两个表必须与之通信。

第一个是InnovationSubmission表,它看起来与此相似: -

    ID(Auto Generated),
    Short Description,
    Long Description,
    Name,
    Email Address,
    Date(From Date.Time.Now()) - on Submission.
    Team Name
    Area (Area of Business)

用户将使用Web窗体(View)输入上面的详细信息,它将被验证,然后保存到后端数据库。我有一个时尚的工作方式。当我尝试根据下面的另一个表引入两个DropDownlistsFor contorls时,问题已经开始: -

    AREA A - Team1, Team3, Team5, Team7
    AREA B - Team2, Team4, Team6, Team8

这只是示例数据,表中只有两个不同的区域,但会有超过50个团队分开。我将寻找Teams dropdownList过滤器对Area DropDownlist中的值。

在我的Models文件夹中,我创建了一个InnovationSubmission类,它复制数据库中的表,该类在视图中用作表示提交表单的强类型数据类型。它如何验证用户输入,并将此类传递给使用ADO.NET发回数据的c#方法。

我正在努力尝试实施下拉列表。

我是否需要创建一个类似于InnovationSubmission类的类来表示团队/区域表? 目前的表格是否以此项目的最佳方式构建? 我可以填充1表中的两个下拉列表吗? 我如何联系团队和团队?区域栏?

任何帮助将不胜感激!?!

这是设计我的视图模型的正确方法: -

public class MyViewModel
    {
        public int ID { get; set; }
        public string shortDesc { get; set; }
        public string longDesc { get; set; }
        public string Status { get; set; }
        public string originator { get; set; }
        public string originatorEmail { get; set; }
        public IEnumerable<Area> area { get; set; }
        public IEnumerable<Team> team { get; set; }
    }

    public class Team
    {
        public string teamName { get; set; }
    }

    public class Area
    {
        public string area { get; set; }
    }

1 个答案:

答案 0 :(得分:1)

您似乎在谈论级联下拉列表,其中第二个列表的值根据第一个中的选择进行更新。我已经举例说明了如何在this post中实现这一目标。这个想法是你订阅第一个下拉列表的.change事件,然后触发一个AJAX请求到一个控制器动作,传递你要查询数据库的选定值并返回一个可能的选项列表。