c#中的HTML元素

本文关键字:元素 HTML 中的 | 更新日期: 2023-09-27 18:16:35

HtmlAnchor[] anchorToConvert = new HtmlAnchor[]{
    clickHere,
leavePage};
Button[] buttonToConvert = new Button[]{
    login,
register};
i = 0;
for (i = 0; i < anchorToConvert.Length; i++)
{
    DataRow[] result = ds.Tables[0].Select("htmlControl LIKE '" + anchorToConvert[i].ID.ToString() + "'");
    if (result.Length > 0)
    {
        anchorToConvert[i].InnerHtml = result[0]["phrase"].ToString();
    }
}
i = 0;
for (i = 0; i < buttonToConvert.Length; i++)
{
    DataRow[] result = ds.Tables[0].Select("htmlControl LIKE '" + buttonToConvert[i].ID.ToString() + "'");
    if (result.Length > 0)
    {
        buttonToConvert[i].Text = result[0]["phrase"].ToString();
    }
}

我有两个需要循环的html元素数组,并使用elements id属性从数据库中选择内容。而不是不得不创建两个数组和循环通过他们单独,有某种方式,我可以使一个更通用的数组,可以包含两个按钮和锚?

c#中的HTML元素

您可以使用列表,并在列表中检查控件的类型,当您循环执行:

List<Control> ctrl = new List<Control>();
HtmlAnchor anchor = new HtmlAnchor();
anchor.ID = "myAnchor";
ctrl.Add(anchor);
Button btn = new Button();
btn.ID = "MyBtn";
ctrl.Add(btn);
foreach (Control c in ctrl.ToList())
{
    if (c is Button)
    {
        // Do Something
    }
}

HtmlAnchorButton都继承自Web.UI.Control(尽管不是直接继承)。

如果这是数组的类型,这两种类型(HtmlAnchorButton)都可以分配给数组。