我想通過任何現有的字符(/,;)拆分IEnumerable列表的每個項目,我不知道如何處理這個問題。此功能的目的是獲取所有現有的圖,通過額外的字符分割它們,僅在屏幕上顯示唯一的繪圖編號並按適當的方式打勾。目前我的功能只顯示正確的圖表列表,我不知道是否將它們拆分(',')。這是我的函數:使用MVC4拆分IEnumerable列表的每個元素
public ActionResult CopyPlotsCSR(int id)
{
var CSR = db.CSRs.Find(id);
Quote oldQuote = CSR.OrderOld.Quote;
var qp = db.QuoteProducts.Where(q => q.QuoteID == oldQuote.ID && q.Revision == oldQuote.Revision && q.Plot != null).OrderBy(q => q.Plot);
var plots = qp.Select(j => j.Plot).Distinct();
List<PlotSelector> Plots = new List<PlotSelector>();
foreach (var item in plots)
{
Plots.Add(new PlotSelector() { Plot = item });
}
ViewBag.CSRID = id;
return View(Plots.ToList());
}
這是我的模型:
public class PlotSelector
{
public PlotSelector() { this.Select = false; }
public PlotSelector(QuoteProduct qp)
{
this.QuoteProduct = qp;
this.QuoteProductID = qp.ID;
this.Plot = qp.Plot;
this.Select = false;
}
public virtual QuoteProduct QuoteProduct { get; set; }
public long QuoteProductID { get; set; }
public string Plot { get; set; }
public bool Select { get; set; }
}
}
這是我的看法:
@model IEnumerable<ERP.ViewModels.PlotSelector>
@{
ViewBag.Title = "Quote";
ViewBag.SubTitle = "Create";
}
<h2>Create New Quote based on Plots</h2>
@Html.ActionImage("Edit", "CSR", new { id = ViewBag.CSRID }, "~/Content/Images/BackToCSR.png", "Back To CSR")
<table>
<tr>
<th>
Confirm
</th>
<th>
Plot
</th>
</tr>
@Html.EditorForModel()
</table>
這是我EditorForModel()視圖:
@model ERP.ViewModels.PlotSelector
<tr>
<td>
@Html.EditorFor(i => i.Select)
@Html.HiddenFor(i => i.QuoteProductID)
</td>
<td>
@Html.DisplayFor(i => i.Plot)
</td>
</tr>
這是我的電流輸出:
[CheckBox] 586, 587, 588, 589
[CheckBox] 21, 22, 25
[CheckBox] 3, 65, 68
[CheckBox] 21, 68, 586
我需要像下面的輸出:
[CheckBox] 3
[CheckBox] 21
[CheckBox] 22
[CheckBox] 25
[CheckBox] 65
[CheckBox] 68
[CheckBox] 586
[CheckBox] 587
[CheckBox] 588
[CheckBox] 589
任何幫助/提示將不勝感激。謝謝。
感謝您的答覆。我試過了,但是我的輸出只顯示了Plot列的空白空間。我現在有更多的行,但我沒有看到每行上的任何值。 – Eduard 2014-11-24 12:14:58
你在'Plot'屬性中有逗號分隔的地塊?也看到編輯我錯誤地把雙引號'Split()'而不是單一的 – 2014-11-24 12:17:08
我注意到了(「,」)。關於劇情屬性,你是指劇情如何保存?在這種情況下,一個例子是:2,3,7,14,24,46,47,49,64,65。我的其他代碼已經啓動。不知道該怎麼辦。 – Eduard 2014-11-24 12:22:26