首页 > 解决方案 > 我们可以在不使用 CSS 的情况下添加“阅读更多”或“阅读更少”选项吗?

问题描述

我有一个程序,我将在其中生成一个 HTML 表格并将其保存到文件中,现在报告有一些非常大的列内容,我不想一次显示所有内容,而是给出“阅读更多”/ “少读”选项?是否可以在 C# html 中做到这一点?我曾将“ Datatable to html Table ”提到过这样做。

我看过使用 CSS 的帖子,我们可以做到这一点,但我没有那个选项,因为我是在 C# 构建 HTML 表中生成的。

我想在下面的 td 标记中的 json 文本中添加“阅读更多”选项,现在甚至可以在下面的代码中添加 CSS。

HTML 代码:

<tr align='left' valign='top'>
<td align='left' valign='top' style='width:100px' bgcolor='#F9F8F6'><font size='3'>{
    "quiz": {"sport": {    "q1": {        "question": "Which one is correct team name in NBA?",        "options": [            "New York Bulls",            "Los Angeles Kings",            "Golden State Warriros",            "Huston Rocket"        ],        "answer": "Huston Rocket"    }},"maths": {    "q1": {        "question": "5 + 7 = ?",        "options": [            "10",            "11",            "12",            "13"        ],        "answer": "12"    },    "q2": {        "question": "12 - 8 = ?",        "options": [            "1",            "2",            "3",            "4"        ],        "answer": "4"    }}
    }
} </font></td>
</tr>

标签: c#html

解决方案


没有CSS?所以您根本不希望服务器将完整数据发送到客户端(以缩减模式)?当然..方法很多,我们真的不能帮你选择一个,但在最简单的情况下,你想实现一种方法,指示服务器发送完整数据或减少数据..

如果您将 URL 查询字符串参数更改为指示客户端需要完整数据的参数,并拥有它以便访问 eghttp://myserver.com/ThePage.aspx?show=1234为记录 1234 提供缩减数据,并http://myserver.com/ThePage.aspx?showFull=1234为 1234 提供完整数据,您现在需要做的就是是对你的页面进行编码,以便它放置

<a href='http://myserver.com/ThePage.aspx?showFull=1234'>see more</a>

在缩小页面的底部和

<a href='http://myserver.com/ThePage.aspx?show=1234'>see less</a>

在整页的底部

如今,动态单页应用程序将加载最少量的数据,并拥有查看更多数据,这将调用服务器(通过脚本)并检索更多数据并将其动态插入页面以进行显示;这当然是一种更巧妙的方式,我鼓励你走这条路,但这个答案是为了概述你如何避免使用脚本;只是有一个很好的“请求 X 并包含指向 Y 的链接,请求 Y 并包含指向 X 的链接”的切换行为风格


编辑:所以你说你的页面是静态的,这对我来说意味着甚至不涉及 C#,只是直接的 HTML:

//full.html
<html><body><table>
  <tr><td>ROW ONE</td></tr>
  <tr><td>ROW TWO</td></tr>
  <tr><td>ROW THREE</td></tr>
  <tr><td>ROW FOUR</td></tr>
  <tr><td>ROW FIVE</td></tr>
  <tr><td><a href='reduced.html'>Show less</a></td></tr>
</table></body></html>

//reduced.html
<html><body><table>
  <tr><td>ROW ONE</td></tr>
  <tr><td><a href='full.html'>Show more</a></td></tr>
</table></body></html>

这里没有 CSS,没有脚本,没有动态 - 只是显示更少和显示更多之间的切换,用户通过单击来切换视图以访问不同的页面..

为了使它至少是动态的,让 C# 根据请求参数生成这些 HTML 中的一个或另一个


推荐阅读