C# 如何在无序列表中添加项目?
最近我被要求更新/维护asp.net web应用程序。我是这项技术的新手,到目前为止,我是作为谷歌协助的程序员,在这个论坛的最大帮助下完成这项任务的。到目前为止,我没有在c#上提出任何问题,因为我在这个论坛上得到了很多帮助。基本上我不是一个真正的程序员,但我必须这样做,因为这个任务是分配给我的,我非常渴望学习这一点 这个页面是用C#写的,我遇到了为分页创建列表项“li”的问题。我得到了一个(分页逻辑)代码,它使用response.write方法正确工作。但我想用页码和链接填充李的。一旦我了解如何以编程方式生成html控件集合,我可能会添加链接按钮而不是超链接 我的代码如下C# 如何在无序列表中添加项目?,c#,asp.net,C#,Asp.net,最近我被要求更新/维护asp.net web应用程序。我是这项技术的新手,到目前为止,我是作为谷歌协助的程序员,在这个论坛的最大帮助下完成这项任务的。到目前为止,我没有在c#上提出任何问题,因为我在这个论坛上得到了很多帮助。基本上我不是一个真正的程序员,但我必须这样做,因为这个任务是分配给我的,我非常渴望学习这一点 这个页面是用C#写的,我遇到了为分页创建列表项“li”的问题。我得到了一个(分页逻辑)代码,它使用response.write方法正确工作。但我想用页码和链接填充李的。一旦我了解如何
int startPage = (curPage < 5) ? 1 : curPage - 4;
int endPage = 4 + startPage;
endPage = (totalPage < endPage) ? totalPage : endPage;
diff = startPage - endPage + 4;
startPage -= (startPage - diff > 0) ? diff : 0;
if (startPage > 1) Response.Write(" First ... ");
for (int i = startPage; i <= endPage; i++) { Response.Write(i); }
if (endPage < totalPage) Response.Write(" ... Last ");
现在我想把这个纯文本输出转换成“li”的集合
我尝试过很多东西,但我无法用c#代码一个接一个地添加“li”。基本上,我无法理解在编程中为代码添加“li”的概念
修改相关代码以使用HtmlGenericControl
HtmlGenericControl liControl;
if (startPage > 1) {
liControl = new HtmlGenericControl("li");
liControl.InnerHtml = "First...";
pagenav.Controls.Add(liControl);
}
for (int i = startPage; i <= endPage; i++) {
liControl = new HtmlGenericControl("li");
liControl.InnerHtml = i.ToString();
pagenav.Controls.Add(liControl);
}
if (endPage < totalPage) {
liControl = new HtmlGenericControl("li");
liControl.InnerHtml = "...Last";
pagenav.Controls.Add(liControl);
}
HtmlGenericControl控件;
如果(起始页>1){
liControl=新的HtmlGenericControl(“li”);
liControl.InnerHtml=“第一…”;
pagenav.Controls.Add(liControl);
}
对于(int i=startPage;i以下逻辑适用于您的问题
Response.Write("<ul id='pagenav' runat='server'>");
for (int i = startPage; i <= endPage; i++) {
Response.Write("<li>" + i.ToString() + "</li>");
}
Response.Write("</ul>");
Response.Write();
对于(int i=startPage;i)一些类似于Response.Write(string.Format(“{0} ”,i));
?首先要做的事情是…您在分页什么控件?一些.net控件内置了分页功能,因此您可能只需要为控件启用分页功能,例如,对于gridview“myGridView.AllowPaging”通常情况下,您可以查询数据库中的数据,然后将其“绑定”到.net控件(如gridview),然后为gridview启用分页…等等…为gridview绑定请参阅为gridview分页请参阅这些页面是存储在文件夹中的对应图像。此应用中不涉及任何数据库。每次显示这些图像时,我们正在查找全部图像,并为这些图像的导航显示分页。因此,图像与网页(aspx)一样好是一样的。好极了,你的代码工作得很好。我需要稍微调整一下我的分页逻辑。我只是复制/粘贴了你的代码,它就工作了。谢谢。谢谢,我已经关闭了它。我在你的代码中添加了链接按钮,现在它在web应用程序中工作得很好,正如我计划的那样。感谢你的回答,我可以用Nikhil实现你的逻辑的建议代码我的工作几乎为零。我从你的评论中学到了另一种生成控件的技术。
HtmlGenericControl liControl;
if (startPage > 1) {
liControl = new HtmlGenericControl("li");
liControl.InnerHtml = "First...";
pagenav.Controls.Add(liControl);
}
for (int i = startPage; i <= endPage; i++) {
liControl = new HtmlGenericControl("li");
liControl.InnerHtml = i.ToString();
pagenav.Controls.Add(liControl);
}
if (endPage < totalPage) {
liControl = new HtmlGenericControl("li");
liControl.InnerHtml = "...Last";
pagenav.Controls.Add(liControl);
}
Response.Write("<ul id='pagenav' runat='server'>");
for (int i = startPage; i <= endPage; i++) {
Response.Write("<li>" + i.ToString() + "</li>");
}
Response.Write("</ul>");
<ul id='pagenav' runat='server'>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>