懒加载显示内容的问题

懒加载显示内容的问题,第1张

考虑这样一个例子:海尔电器是一个非常大的组织机构,它下有1万多个组织单元。由于组织单元的复杂性,组织单元间也存在着上下级关系。现在的问题是:用户想加入海尔电器的某个组织单元,他该怎么选择到这个组织单元呢?

很容易想到的一个解决方法是:查询数据库,把海尔电器的所有组织单元放到一个下拉列表中,让用户选择即可。这样的确是解决问题了,但是,测试发现,浏览器在显示组织单元数据时就直接假死了。看来,这样做性能太差,可以不采纳。

另一个解决方法就是利用懒加载技术。由于组织单元间存在着上下级关系,那么组织单元的排列就可以当作一棵树来处理。在显示数据时只显示父节点,点击父节点时,就能显示父节点下的子节点。如下图所示:

尽量不要对数据库做这样的查询,如果查询的数据量比较大的情况下,很可能,在上一次的查询还没完成,下一次查询已经开始,这样恶性循环,会造成数据库当机(假死)。定时数据查询,需要采用特殊的方法。比如工业控制现场数据查询,可以将最新的数据存入缓存,通过socket远程调用,定时保存。

应该是访问数据库的连接假死,(也就是说连接实际断开了,但是你的服务端数据库连接未诊断出断开),你应该先检查数据库连接最大超时时间设计,默认应该是很长的。

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

我回答问题首先希望帮助到学习C#的后辈。

所以先分析原因。

你出现这个错误是因为你没有了解ASPNET的工作原理。ASPNet 和php,jsp ,asp等服务器语言一样 都是为了生成可供浏览器解析的页面,而可供浏览器解析的语言只有HTML。

1,如果你在aspx页面中插入一个asp:LinkButton 那么运行页面后 在浏览器中查看源代码你会发现这个标签实际被转为了一个<a>标签。

2,为什么你的写法不会转换呢?因为首先 传递给Literal1Text 的值在aspnet中作为一段字符串被直接输出到浏览器中。那么你的写法到浏览器后源代码中仍然是一个asp:LinkButton 标签,而这个标签是无法被浏览器正确解析的。

解决办法:

知道了原因,那么如果非要按照你的写法去写,那么应该是这样的:

Literal1Text = "<li>" + ((users)Session["users"])NameToString() + "</li><li> </li><li><a ID='LinkButton1' onclick='LinkButton1_Click1'>注销</a></li><li> </li><li>信息修改</li><li> </li>";

但是当你修改完后发现点击注销按钮依然不能执行!为什么呢?

因为你的LinkButton1_Click1 事件并没有在aspnet中被解析为可供浏览器识别的js代码。

如何解决?

首先吐槽下你的写法实在另类, 但是依然可以实现。

在aspx页面中写一个asp:LinkButton按钮:

<asp:LinkButton ID='LinkButton2' runat='server' onclick='LinkButton1_Click1'>注销</asp:LinkButton>

运行页面,查看源代码 看看这个新加的注销按钮被解析为了什么html代码,大概如下

<a id="LinkButton2" onclick="xxxxx"></a>

将新加的linkbutton 设置不可见属性

<asp:LinkButton ID='LinkButton2' runat='server' visible="false" onclick='LinkButton1_Click1'>注销</asp:LinkButton>

重新修改后台代码

Literal1Text = "<li>" + ((users)Session["users"])NameToString() + "</li><li> </li><li><a ID='LinkButton1' onclick='xxxxx'>注销</a></li><li> </li><li>信息修改</li><li> </li>";

//也就是将标签的js事件绑定到那个隐藏的注销按钮事件上。

希望对你有帮助

以上就是关于懒加载显示内容的问题全部的内容,包括:懒加载显示内容的问题、一秒查询一次远程数据库会有什么后果、接口可以访问数据库,但是数据无法下载等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9484416.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存