创建一个函数以将 html 控件 “ui” 作为参数传递

本文关键字:ui 控件 参数传递 html 一个 函数 创建 | 更新日期: 2023-09-27 18:31:08

我有 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。我没有任何想法...任何帮助的人....

创建一个函数以将 html 控件 “ui” 作为参数传递

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

型:

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);
}

稍微重构一下,你就可以:)了