【问题标题】:Create String Array from database从数据库创建字符串数组
【发布时间】:2015-03-19 11:05:11
【问题描述】:

我正在尝试对我目前拥有的内容进行更动态的解决方案。我有一个包含许多案例的数据库,其中每个案例都包含 2 个作业。在我看来,我想根据每个任务展示每个案例:


Case   |  Assignment   |  SelecteBool
Case1  |  Electricity  |  true
Case2  |  Electricity  |  false
Case1  |  Cement       |  true
Case2  |  Cement       |  false

我创建了一个代码,使这个视图成为可能,但仅使用手动创建的字符串数组,我在其中定义每个分配:

string[] assignments = new string[2];
assignments[0] = "Electricity";
assignments[1] = "Cement";

我的问题是,如果将来的案例应该包含 3 个(或更多)分配,我必须手动进入并将其添加到列表中。是否可以创建一个动态解决方案来读取选定的案例分配并将它们放入字符串数组中?

例如,如果 Case1 又添加了一个“Others”并被选中(selectBool == true),那么它应该读入一个包含以下内容的数组:

assignments[0] = "Electricity";
assignments[1] = "Cement";
assignments[2] = "Others";

我正在开发由大量 Razor 和 Linq 组成的 MVC5,我希望尽可能避免使用 javascript。

非常感谢所有帮助!提前谢谢你。

编辑

这里的要求是我的观点。我目前没有在我的控制器中使用任何东西来使用手动创建的字符串数组创建视图。

查看:

@{
string[] assignments = new string[2];
assignments[0] = "Electricity";
assignments[1] = "Cement";
}

    <div>

        @foreach (string i in assignments)
        {
            foreach (var chosen in Model)
            {
                if (chosen.SelectedBool == true && chosen.Assignment.Contains(i))
                {
                <div class="table" style=" display: table; margin: 10px 0 10px 0; ">
                    <div class="col-md-2">
                        <p><b>@Html.DisplayFor(modelItem => chosen.Name)</b></p>
                    </div>
                    <div class="col-md-1">
                        <p><b>@Html.DisplayFor(modelItem => chosen.Assignment)</b></p>
                    </div>
                    <div class="col-md-2">
                        <p>@Html.DisplayFor(modelItem => chosen.SelectedBool)</p>
                    </div> 
                </div> 
                }        
            }     
        }
    </div>

【问题讨论】:

  • 请展示您的视图/模型/控制器
  • 已添加到问题中。 :) 我只在视图中使用剃刀来创建我当前的解决方案。所以我只发布我的视图,因为我不使用控制器中的任何东西来创建我当前的解决方案。如果您还需要其他东西,请告诉我。

标签: c# asp.net-mvc linq razor


【解决方案1】:

您的分配应该填充到控制器中!最简单的方法是设置一些 ViewBag 属性,然后更改您的视图,以便循环通过此 ViewBag 属性。 分别你的控制器会喜欢

ViewBag.Assignments = RetreiveAssignments();

你的任务将是动态的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-04
    • 2016-01-24
    • 2011-06-17
    相关资源
    最近更新 更多