我正在开发一个类似评论的平台,用户可以在其中发表评论,其他用户可以回复该评论。但是这些评论可以从两个方向回复(Reply & Expand)。这个想法是用户可以回复,用户也可以扩展该讨论。请看图片。
我开发了一个控件,只要用户回复或展开评论,该控件就会动态添加。
如果用户将回复控件,将在该消息(评论)下添加一个新控件,如果用户展开该消息(评论),则将在该消息(评论)的右侧添加一个具有扩展回复(消息)的控件).不止一个用户可以展开消息,用户也可以回复展开的消息。
我不确定应该在其中添加这些控件的占位符或容器应该是什么。
- 我应该使用 Server
Table
控件并创建TableRows
和TableCells
动态? - 我应该使用什么容器,这样页面才不会太重?
- 我应该创建
div
并在运行时调整它的位置并在每个中添加控制吗div
?
其他我不清楚的问题是:
- 多个用户可以展开一条消息,这种情况下如何处理 用户界面。隐藏/显示控件或任何其他解决方案。
- 我应该在 Expansions 上显示水平的
scrollbar
还是有其他的 解决方案?
有什么帮助/建议吗?
谢谢。
最佳答案
你可以用不同的方式来做到这一点,我不会给你代码,因为我希望你尝试和学习。所以你可以用 JQuery 完成所有这些,你不需要 Asp.net Controller ,因为有时它们使用起来很复杂。
所以 1º 步:
您可以创建一个包含 2 列和 N
的简单表格行取决于您拥有的消息数量(尝试过滤一些,例如:您有 100 条,只显示 10 条并且有一个“下一页”)或使用一些为您保存大数据的插件表。
2º 步:
当您回复消息时创建一个 <tr>
在你的表格中放置“第一条消息的回复”(注意:你需要创建一个结构来处理你使用 ID's
轻松在表格上导航)
3º 步骤:
在你的第二列中有一个 <div>
准备在用户单击“展开”时接收和显示展开消息,并在展开新消息时始终清除它。
这应该对你有用,还有其他方法,但尽量用简单的方式思考
其他问题:
1º - 我不明白这个问题,但如果你的网站将在服务器上运行,user1 和 user2,... userN 使用相同的页面但在不同的地方呈现,你只需要重新加载数据让每个人知道有人在消息中发表评论或回复或其他内容。
2º - 用户界面由您选择,看看什么最适合您 ;)
享受;)
关于javascript - 在两个方向上动态加载用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13357069/