C# 正在删除动态添加的LinkButton命令名/命令参数设置
我正在尝试在表上方实现分页栏。我的页面上有一个静态C# 正在删除动态添加的LinkButton命令名/命令参数设置,c#,asp.net,linkbutton,C#,Asp.net,Linkbutton,我正在尝试在表上方实现分页栏。我的页面上有一个静态元素: <div><center><ul id="topnav" runat="server"></ul></center></div> 但是,当控件实际呈现时,它以名称“ctlXX”(其中XX是一个递增的数字)的形式发布,并且没有参数,因此我无法获取页码。但是.Text属性可以很好地渲染。我做错了什么?这是完全错误的方法吗?如果要动态添加按钮,则需要在Page\u Ini
元素:
<div><center><ul id="topnav" runat="server"></ul></center></div>
但是,当控件实际呈现时,它以名称“ctlXX”(其中XX是一个递增的数字)的形式发布,并且没有参数,因此我无法获取页码。但是.Text属性可以很好地渲染。我做错了什么?这是完全错误的方法吗?如果要动态添加按钮,则需要在
Page\u Init
方法中执行此操作,否则控件将不会参与ViewState。这可能就是问题所在。当然没用了
此外,该名称是.Net动态分配给按钮的名称,因为您自己没有指定ID。如果您正在查找,则该ID将在Request.Form
集合中可见
但是——老实说,我认为你的方法是错误的。如果您想要分页,那么您应该查看类似GridView或ListView控件的东西,它在控件中内置了分页功能。这将是做事的标准。介绍了GridView分页,以及ListView的一般教程,包括分页
一般来说,分页是一个在ASP.Net中已经解决了很多次的问题,你真的不想重新发明轮子——我不想。此外,通过使用这些类型的网格控件,您将获得诸如开箱排序之类的功能,这是另一个非常常见的要求
foreach ( int linkpage in linkpages ) {
HtmlGenericControl li;
LinkButton pbut;
li = new HtmlGenericControl( "li" );
pbut = new LinkButton();
pbut.CommandName = "page";
pbut.CommandArgument = linkpage.ToString();
pbut.Text = linkpage.ToString();
li.Controls.Add( pbut );
topnav.Controls.Add( li );
}