Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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# 具有runat服务器的li_C#_Html_Asp.net - Fatal编程技术网

C# 具有runat服务器的li

C# 具有runat服务器的li,c#,html,asp.net,C#,Html,Asp.net,我在从codebehind创建动态元素时遇到问题。我需要将runat服务器分配给li,但我没有找到分配runat服务器的方法,所以当我需要更改代码隐藏的属性时,我找不到li控制。我的问题有答案吗?我是asp.net c#的新手 这是我的密码: <ul class="nav nav-tabs" runat="server" id="tabList"> //First i got ul control that i assign runat=server in aspx pag

我在从codebehind创建动态
  • 元素时遇到问题。我需要将runat服务器分配给li,但我没有找到分配runat服务器的方法,所以当我需要更改代码隐藏的属性时,我找不到li控制。我的问题有答案吗?我是asp.net c#的新手

    这是我的密码:

    <ul class="nav nav-tabs" runat="server" id="tabList">
         //First i got ul control that i assign runat=server in aspx page
    </ul>
    
    //then i create li from code behind in Page_Init()
    System.Web.UI.HtmlControls.HtmlGenericControl tab = new System.Web.UI.HtmlControls.HtmlGenericControl("li");
    tab.ID = "tab" + (i + 1);
    tab.Attributes.Add("runat", "server");//this is not working
    tab.Controls.Add(new LiteralControl("<a href=\"#customer" + (i + 1) + "\" data-toggle=\"tab\">Penumpang " + (i + 1) + "</a>"));
    
    //then i add the li to my ul controler called tablist
    this.tabList.Controls.Add(tab);
    
      //首先,我得到了ul控制,我在aspx页面中分配了runat=server
    //然后我从Page_Init()中的代码创建li System.Web.UI.HtmlControl.HtmlGenericControl选项卡=新建System.Web.UI.HtmlControl.HtmlGenericControl(“li”); tab.ID=“tab”+(i+1); tab.Attributes.Add(“runat”、“server”)//这不起作用 tab.Controls.Add(新的LiteralControl(“”); //然后我把李加到我的ul控制器tablist上 this.tabList.Controls.Add(选项卡);
    我的问题是,当页面加载时,我可以看到页面上的li,但是当我需要对其执行某些操作时,我无法从后面的代码调用li。有没有办法打电话给李先生?或在动态指定li时更改其属性?对不起,英语不好


    提前感谢。

    您无法访问代码隐藏中的
  • 的原因是它是动态生成的

    动态生成的控件在视图上呈现时将丢失其状态,如果要在回发时在代码中再次访问这些控件,则需要在使用它们之前重新创建它们。因此,基本上,您需要在每次回发时重新创建它们,以访问它们的属性和值,并使用它们进行操作

    另外,
    runat='server'
    无法从代码隐藏中运行。除了使用
  • ,您还可以尝试使用一些ASP.NET控件,例如
    Listview
    或其他数据绑定控件


    希望这能有所帮助。

    属性集合是针对HTML属性的
    runat=“server”
    不是HTML属性。与其使用HTML li,不如使用asp控件(如listview或repeater)生成?实际上我只需要控制HTML li或访问它,因为我动态创建li以创建所需的选项卡数量,如果选中它,我会得到dropdownlist事件,所选的选项卡(即li控件)将处于活动状态(属性将被更改),我不知道如何使用listview或repeater来执行li作业@se0ng11只有我没有得到的li控件,我动态创建文本框,我可以访问它,正如我在上面的评论中所说,我只需要访问li来更改属性,谢谢您的建议@HarveySpecter