C# 如何在无序列表中添加项目?

C# 如何在无序列表中添加项目?,c#,asp.net,C#,Asp.net,最近我被要求更新/维护asp.net web应用程序。我是这项技术的新手,到目前为止,我是作为谷歌协助的程序员,在这个论坛的最大帮助下完成这项任务的。到目前为止,我没有在c#上提出任何问题,因为我在这个论坛上得到了很多帮助。基本上我不是一个真正的程序员,但我必须这样做,因为这个任务是分配给我的,我非常渴望学习这一点 这个页面是用C#写的,我遇到了为分页创建列表项“li”的问题。我得到了一个(分页逻辑)代码,它使用response.write方法正确工作。但我想用页码和链接填充李的。一旦我了解如何

最近我被要求更新/维护asp.net web应用程序。我是这项技术的新手,到目前为止,我是作为谷歌协助的程序员,在这个论坛的最大帮助下完成这项任务的。到目前为止,我没有在c#上提出任何问题,因为我在这个论坛上得到了很多帮助。基本上我不是一个真正的程序员,但我必须这样做,因为这个任务是分配给我的,我非常渴望学习这一点

这个页面是用C#写的,我遇到了为分页创建列表项“li”的问题。我得到了一个(分页逻辑)代码,它使用response.write方法正确工作。但我想用页码和链接填充李的。一旦我了解如何以编程方式生成html控件集合,我可能会添加链接按钮而不是超链接

我的代码如下

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>