Soran
iki list string çapraz tablo yapımı

Soru
-
merhaba
iki tane list string den kombine eilmiş bir tablo oluşturmak istiyorum
var list1 ="1,2,3" // 3 elemanlı var list2 ="pr1,pr2" // 2 elemanlı
ben bunu tablo olarak
almak istiyorum Örnek
<table> <tr> <th> 1. Sutun <th> <th> 2. Sutun </th> </tr> <tr> <td>1</td> <td>pr1</td> </tr> <tr> <td>1</td> <td>pr2</td> </tr> <tr> <td>2</td> <td>pr1</td> </tr> <tr> <td>2</td> <td>pr2</td> </tr> <tr> <td>3</td> <td>pr1</td> </tr> <tr> <td>3</td> <td>pr2</td> </tr> </table>
Üretmek en büyük icraatır
Tüm Yanıtlar
-
Test etmedim ama çalışır umarım.
@{ var list1 ="1,2,3"; // 3 elemanlı var list2 ="pr1,pr2"; // 2 elemanlı } <table> <tr> <th>1. Sutun<th> <th>2. Sutun</th> </tr> @foreach (var item1 in list1.Split(',')) { @foreach (var item2 in list2.Split(',')) { <tr> <td>@item1</td> <td>@item2</td> </tr> } } </table>
-
-
public static class HtmlExtensions { private static readonly IList<IList<string>> Lists = new List<IList<string>>() { new List<string> {"1", "2", "3"}, new List<string> {"p1", "p2", "p3", "p4"}, new List<string> {"z1", "z2"}, new List<string> {"k1", "k2", "k3"}, new List<string> {"x1", "x2"} }; private static readonly Stack<string> Stack = new Stack<string>(); private static string _builder; public static MvcHtmlString GetRows(this HtmlHelper htmlHelper) { _builder = string.Empty; RecursiveFunc(); return MvcHtmlString.Create(_builder); } private static void RecursiveFunc(int height = 0) { for (var i = 0; i < Lists[height].Count; i++) { Stack.Push(Lists[height][i]); if (height == Lists.Count - 1) { _builder += CreateRow(Stack); Stack.Pop(); continue; } RecursiveFunc(height + 1); } if (Stack.Count == 0) return; Stack.Pop(); } private static MvcHtmlString CreateRow(Stack<string> stack) { var tr = CreateBuilder("tr"); foreach (var s in stack.Reverse()) tr.InnerHtml += $"<td>{s}</td>"; return MvcHtmlString.Create(tr.ToString(TagRenderMode.Normal)); } private static TagBuilder CreateBuilder(string tagName, string name = null, object htmlAttributes = null) { var builder = new TagBuilder(tagName); if (!string.IsNullOrEmpty(name)) { builder.GenerateId(name); builder.Attributes["name"] = name; } if (htmlAttributes != null) builder.MergeAttributes(new RouteValueDictionary(htmlAttributes)); return builder; } }
<div class="container mt-5"> <table class="table"> <thead> <tr> <th scope="col">col1</th> <th scope="col">col2</th> <th scope="col">col3</th> <th scope="col">col4</th> <th scope="col">col5</th> </tr> </thead> <tbody> @Html.GetRows() </tbody> </table> </div>
- Düzenleyen furkanisitan 25 Ekim 2018 Perşembe 16:42
-
-
hocam merhaba
bu yazdığınız c# kodlarını controller içinden mi çağırıcam yoksa viewvs ile mi onu tam olarak anlayamdım
Üretmek en büyük icraatır