1

我有 6 个 UL,在每个 UL 中我从服务器端动态生成 li 。现在对于 6 UL,我重复做 6 次。有没有办法我可以创建一个函数来将 ul 作为函数中的参数传递并使用不同的 ul 元素调用相同的函数。

现在我有这个

<ul ID="ul_1"></ul>
<ul ID="ul_2"></ul>  
<ul id="ul_3"></ul>
<ul id="ul_4"></ul>

要填充的服务器端代码是这样的

foreach (String li in ListA)
{
    HtmlGenericControl uli = new HtmlGenericControl("li");
    uli.InnerHtml = li;
    ul_1.Controls.Add(uli);
}

我对每个 UL 使用此代码 4 次,但我正在尝试创建一个函数,以便我可以使用相同的函数,只需传递 UL id。我不知道......任何帮助的人......

4

1 回答 1

0

如果我正确理解你想要什么,也许你可以尝试这样的事情。

模型:

public class ListItem {
    public string Content { get; set; }
}

public class ListOfItems {
         public int Id { get; set; }
         public IList<ListItem> Items { get; set; }
}

查看(例如使用剃刀):

@model IEnumerable<ListOfItems>
....
@foreach (var itemList in Model)
{ 
   <ul id="ul_@itemList.Id">
      @foreach(var item in itemList.Items) {
         <li>@item.Content</li>
      }
   </ul>
}

控制器:

public ActionResult ViewList(){
   var model = new List<ListOfItems>();
   var listItem1 = new ListItem
   {
       Content = "My first list item!"
   };
   var listItem2 = new ListItem
   {
       Content = "My second list item!"
   };

   var listOfItems1 = new ListOfItems
   {
       Id = 1
   };

   listOfItems1.Item.Add(listItem1);
   listOfItems1.Item.Add(listItem2);

   model.Add(listOfItems1);
   return View(model);
}

一点点重构,你就可以开始了:)

于 2014-07-09T07:04:18.587 回答