Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中从HtmlGenericControl获取所有标记#_C#_Html_Asp.net_C# 4.0 - Fatal编程技术网

C# 在C中从HtmlGenericControl获取所有标记#

C# 在C中从HtmlGenericControl获取所有标记#,c#,html,asp.net,c#-4.0,C#,Html,Asp.net,C# 4.0,我想在C#中的html控件中获取所有html标记。 这是我的HTML代码 <div id="nav" runat="server" style="position: absolute;"> <ul id="navList"> <li runat="server" id="HOME"> <a id="a1" runat="server" href="#">HOME</a> <!-- This is

我想在C#中的html控件中获取所有html标记。 这是我的HTML代码

<div id="nav" runat="server" style="position: absolute;">
  <ul id="navList">
    <li runat="server" id="HOME">
      <a id="a1" runat="server" href="#">HOME</a>
      <!-- This is the sub nav -->
      <ul class="listTab">
        <li runat="server" id="HM1"><a id="a2" runat="server" href="#">About This Template</a></li>
        <li runat="server" id="HM2"><a id="a3" runat="server" href="#">Flash</a></li>
        <li runat="server" id="HM3"><a id="a4" runat="server" href="#">jQuery</a></li>
      </ul>
    </li>
    <li runat="server" id="BLOG">
      <a id="a5" runat="server" href="#">BLOG</a>
      <!-- This is the sub nav -->
      <ul class="listTab">
        <li runat="server" id="BM1"><a id="a6" runat="server" href="#">MENU 1</a></li>
        <li runat="server" id="BM2"><a id="a7" runat="server" href="#">MENU 2</a></li>
        <li runat="server" id="BM3">
          <a id="a8" runat="server" href="#">MENU 3</a>
          <ul class="listTab">
            <li runat="server" id="BM3S1"><a id="a9" runat="server" href="#">MENU 3 SUB 1</a></li>
            <li runat="server" id="BM3S2"><a id="a10" runat="server" href="#">MENU 3 SUB 2</a></li>
            <li runat="server" id="BM3S3"><a id="a11" runat="server" href="#">MENU 3 SUB 3</a></li>
          </ul>
        </li>
      </ul>
    </li>
    <li runat="server" id="ABOUT">
      <a id="a12" runat="server" href="#">About</a>
      <!-- This is the sub nav -->
      <ul class="listTab">
        <li runat="server" id="AM1"><a id="a13" runat="server" href="#">ABOUT MENU 1</a></li>
        <li runat="server" id="AM2"><a id="a14" runat="server" href="#">ABOUT MENU 2</a></li>
        <li runat="server" id="AM3"><a id="a15" runat="server" href="#">ABOUT MENU 3</a></li>
      </ul>
    </li>
    <li runat="server" id="PORTFIL"><a id="a16" runat="server" href="#">Porfolio</a></li>
    <li runat="server" id="CONTACT"><a id="a17" runat="server" href="#">Contact</a></li>
  </ul>
</div>

如何从上面的HTML代码中获取标签。这是我的方法,它只提供了“div”标记和“li”标记。我的代码有什么问题。请帮忙

private void LoadMenues(HtmlGenericControl subMenu) 
{
    foreach (HtmlGenericControl c in subMenu.Controls.OfType<HtmlGenericControl>()) 
    {
        string id = c.ID;
        string x = c.TagName; // <----** 
        MenuModel m = new MenuModel();
        m.vcMenuID = id;
        MenuModel menu = objCommon.MenuLookup(m).FirstOrDefault();

        if (menu == null) 
        {
            menu = new MenuModel();
            menu.vcMenuID = id;
            menu.intParentMenuID = pid;
            menu.bIsActiveMenu = 1;
            pid = objCommon.InsertMenu(menu);
        } 
        else 
        {
            pid = menu.intMenuID;
        }
        LoadMenues(c);
    }
    if (pid != null)
        pid = objCommon.GetMinPID(subMenu.ID);
}
private void LoadMenues(HtmlGenericControl子菜单)
{
foreach(子菜单.Controls.OfType()中的HtmlGenericControl c)
{
字符串id=c.id;

string x=c.TagName;//您的代码似乎没有任何问题,您正在递归调用该函数

但是,请注意,您将只获得使用此代码定义了
runat=“server”
属性的控件


您希望获得和未获得的控件是那些没有的控件?

谢谢。但我无法获得此标签。我不知道为什么它不提供这些“a”标签。