如何检查列表中是不是存在列表项[关闭]
Posted
技术标签:
【中文标题】如何检查列表中是不是存在列表项[关闭]【英文标题】:How to check if list item exists in list [closed]如何检查列表中是否存在列表项[关闭] 【发布时间】:2021-12-16 06:39:38 【问题描述】:我正在尝试检查未过滤列表 (UL) 中是否存在列表项 (LI)。我想通过列表项 ID 进行检查。
我这样做是为了检查列表中是否仍然存在拖放项
即LI1 是否存在于 Sortable1 中
<ul id="sortable1" runat="server" class="connectedSortable">
<li id="LI1" runat="server" class="ui-state-default"></li>
<li id="LI2" runat="server" class="ui-state-default"></li>
<li id="LI3" runat="server" class="ui-state-default"></li>
<li id="LI4" runat="server" class="ui-state-default"></li>
<li id="LI5" runat="server" class="ui-state-default"></li>
</ul>
我尝试了以下代码,但根本不起作用:
foreach (Control item in sortable1.Controls)
if (item.Controls.Contains(LI1))
lbTest.Text = "LI1 is in sortable 1";
else
lbTest.Text = "LI1 is not in sortable 1";
感谢您的帮助
【问题讨论】:
I'm trying to check if a list item (LI) exists in an unfiltered list (UL).
,您能否发布您尝试过的此代码,以便我们进一步帮助您?
请see那个帖子,它会有所帮助。
【参考方案1】:
protected void Button1_Click(object sender, EventArgs e)
foreach (Control MyControl in sortable1.Controls)
Debug.Print(MyControl.ID);
if (MyControl.ID == "LI1")
Debug.Print("Found LI1");
// OR
Control MyControl2 = sortable1.FindControl("LI1");
if (MyControl2 != null)
Debug.Print("found LI1");
// Or this
if (sortable1.FindControl("LI1") != null)
// FOUND it
Debug.Print("found li1");
如上所示,您可以使用 foreach 循环,但您也可以如上所示也使用 findcontrol 来获取所需的控件,或者如上一个示例所示,您可以测试/检查 findcontrol 表达式。
另一方面?由于您有 runat 服务器标签,因此您可以在代码中直接使用 LI1 控件,如下所示:
debug.print (LI1.ID);
【讨论】:
非常感谢阿尔伯特的帮助!这真的很感激。我会在早上回到工作岗位时尝试这个解决方案。再次感谢!以上是关于如何检查列表中是不是存在列表项[关闭]的主要内容,如果未能解决你的问题,请参考以下文章