2015-03-19 48 views
0

我正在嘗試使我目前擁有的更動態的解決方案。我有一個數據庫,其中每個案例由2個作業組成。在我看來,我想告訴每一種情況下,根據每個任務:從數據庫創建字符串數組


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

我創造,使這個觀點可能的,但只有創建的String數組,我定義每個分配的手動代碼:

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

我的問題是,如果在未來的情況下,應包含3個(或以上)的任務我必須手動進去,並添加到列表中。是否可以創建一個動態解決方案來讀取選定的案例分配並將它們放入字符串數組中?

例如,如果案例1增加了一個更assingment「其他」,並且選擇(selectBool == TRUE),那麼它應該在一個陣列中讀取包括:

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

我正在MVC5它由很多Razor和Linq,我想避免儘可能多的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> 
+0

請出示添加到您的問題視圖/模型/控制器 – Disappointed 2015-03-19 11:10:21

+0

。 :)我只在視圖中使用剃鬚刀來創建我當前的解決方案。所以我只發佈我的視圖,因爲我不使用控制器中的任何東西來創建我當前的解決方案。請讓我知道你是否需要別的東西。 – 2015-03-19 11:18:56

回答

0

你的任務應該在控制器填充!最簡單的方法是設置一些ViewBag屬性,然後更改視圖,以便循環遍歷此ViewBag屬性。 分別您的控制器將有一個像

ViewBag.Assignments = RetreiveAssignments();

,你的任務將是動態的