Asp.net mvc 4 如何为强类型视图动态地向模型数据添加数组值?

Asp.net mvc 4 如何为强类型视图动态地向模型数据添加数组值?,asp.net-mvc-4,Asp.net Mvc 4,这是编程环境 框架:ASP.NET框架4 语言:Visual C#2010 设计模式:MVC4 查看引擎:Razor 下面是一个场景 我正在使用以下代码创建一个网页: ProjectTracking.cs ProjectTrackingController.cs Index.cshtml 也许这是一种糟糕的方法,需要完全不同的策略?int[]projectInt=newint[3]{1,2,3}; int[] projectInt = new int[3] { 1, 2, 3 };

这是编程环境

  • 框架:ASP.NET框架4
  • 语言:Visual C#2010
  • 设计模式:MVC4
  • 查看引擎:Razor
下面是一个场景

我正在使用以下代码创建一个网页:

ProjectTracking.cs ProjectTrackingController.cs Index.cshtml 也许这是一种糟糕的方法,需要完全不同的策略?

int[]projectInt=newint[3]{1,2,3};
    int[] projectInt = new int[3] { 1, 2, 3 };

    List<ProjectTracking> projects = new List<ProjectTracking>();
    foreach (var i in projectInt)
    {
      var project = new ProjectTracking{
                            ProjectID = projectInt[i],
                            ...
      }
      projects.Add(project);
    }
列表项目=新列表(); foreach(投影中的变量i) { var project=新项目跟踪{ ProjectID=投射[i], ... } 项目。添加(项目); }
您可以尝试以下方法

    public ActionResult Index()
    {
       int[] projectInt = new int[3]{1, 2, 3};
       List<ProjectTracking> projects = new List<ProjectTracking>();
       for(var i in projectInts)
       {
            projects.Add(
            new ProjectTracking
            {
                ProjectID = projectInt[i],
                ProjectName = "Project " + projectInt[i],
                ProjectDate = DateTime.Add(projectInt[i])
            });
        }
       return View(projects)
    }
public ActionResult Index()
{
int[]projectInt=newint[3]{1,2,3};
列表项目=新列表();
for(投影中的var i)
{
项目。添加(
新项目跟踪
{
ProjectID=投射[i],
ProjectName=“Project”+项目[i],
ProjectDate=DateTime.Add(projectent[i])
});
}
返回视图(项目)
}

尝试此操作时,我收到以下错误消息:传入字典的模型项的类型为“System.Collections.Generic.List`1[MyProject.Models.ProjectTracking]”,但此字典需要类型为“MyProject.Models.ProjectTracking[]”的模型项。抱歉,请使用
项目跟踪,而不是使用
列表项目[]项目
哦,没关系!我修改了视图以使用@model IEnumerable,它工作得很好。
@using MyProject.Models
@model ProjectTracking[]
@{
    ViewBag.Title = "Project Tracking";
}
<hgroup class="title">
    <h1>@ViewBag.Title.</h1>
    <h2>@ViewBag.Message</h2>
</hgroup>
<p>
    @Html.ActionLink("Add a New Project", "New")
</p>
@if (Model.Length > 0)
{
    <table>
        <thead>
            <tr>
                <th>
                    ID
                </th>
                <th>
                    Name
                </th>
                <th>
                    Date
                </th>
             </tr>
        </thead>
        <tbody>
            @foreach (ProjectTracking p in Model
            {
                <tr>
                    <td>
                        @p.ProjectID
                    </td>
                    <td>
                        @p.ProjectName
                    </td>
                    <td>
                        @p.ProjectDate
                    </td>
                 </tr>
            }
        </tbody>
    </table>
}
else
{
    <h2>No project tracking data found.</h2>
}
        int[] projectInt = new int[3] { 1, 2, 3 };
        public ActionResult Index()
        {
            ProjectTracking[] projects =
            {
                new ProjectTracking
                {
                    ProjectID = projectInt???...
    int[] projectInt = new int[3] { 1, 2, 3 };

    List<ProjectTracking> projects = new List<ProjectTracking>();
    foreach (var i in projectInt)
    {
      var project = new ProjectTracking{
                            ProjectID = projectInt[i],
                            ...
      }
      projects.Add(project);
    }
    public ActionResult Index()
    {
       int[] projectInt = new int[3]{1, 2, 3};
       List<ProjectTracking> projects = new List<ProjectTracking>();
       for(var i in projectInts)
       {
            projects.Add(
            new ProjectTracking
            {
                ProjectID = projectInt[i],
                ProjectName = "Project " + projectInt[i],
                ProjectDate = DateTime.Add(projectInt[i])
            });
        }
       return View(projects)
    }