Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何构建评论页面?_Asp.net_Database_Dynamic - Fatal编程技术网

Asp.net 如何构建评论页面?

Asp.net 如何构建评论页面?,asp.net,database,dynamic,Asp.net,Database,Dynamic,如何建立一个网页,访问者可以添加评论的网页?我知道使用db是可能的,问题是-没有db我能做到吗?也许通过将新元素保存到现有的.aspx文件的正确位置(插入最后一条注释之后),我该如何做 如何实现这一点,还有其他优雅的想法吗 在这种情况下,我不使用db的原因是为了简单和快速加载页面-我的方法正确吗?不 您需要将数据存储在某个位置,并在稍后的时间进行查询。你希望怎么做?你肯定需要一个地方来存储这些信息,而数据库是最好的选择。我还建议使用数据库,无论何时,我们都需要为一个流量不多的小型网站制作一些低成

如何建立一个网页,访问者可以添加评论的网页?我知道使用db是可能的,问题是-没有db我能做到吗?也许通过将新元素保存到现有的.aspx文件的正确位置(插入最后一条注释之后),我该如何做

如何实现这一点,还有其他优雅的想法吗

在这种情况下,我不使用db的原因是为了简单和快速加载页面-我的方法正确吗?


您需要将数据存储在某个位置,并在稍后的时间进行查询。你希望怎么做?你肯定需要一个地方来存储这些信息,而数据库是最好的选择。

我还建议使用数据库,无论何时,我们都需要为一个流量不多的小型网站制作一些低成本、简单和快速的东西

这就是我给你的建议。将您的评论附加到文件中,然后使用此命令将该文件包含在您希望看到此评论的位置

<!--#include file="CommentsA.htm"--> 

不要在aspx文件中附加注释,因为这可能会导致重新编译站点

正如我再次说的,这是一个简单的想法,快速和低成本的东西。在这里,您需要注意通过javascript注入和垃圾邮件进行的攻击,否则您将无法批准/拒绝消息


这无疑是最快捷、最简单的方法,但您无法控制评论。

asp.net网站提供了一系列从静态页面移动到数据驱动页面的教程:

<!--#include file="CommentsA.htm"--> 
您可能希望沿着微软称之为“网页”的路线走下去,这是它的Biger brothers web表单和mvc框架的更简单但更基本的版本

以下是“网页”数据教程的直接链接:

查看这些教程将帮助您描述最适合您的

但您可能希望了解:


我仍然建议使用数据库,但这基本上是我按照您的方式进行的思考过程。我从来没有这样做过,所以这只是理论,而不是代码,可能需要有人补充

在aspx页面上创建一个div,您可以将该div命名为“comments”或其他名称。不过这里只有评论。您要做的是创建一个通用表单,该表单可能有一个用于注释的文本区域和一个提交按钮。按下submit按钮时,会触发一个事件,该事件使用streamwriter直接写入文本文件。您需要能够在文本文件的各行之间循环,直到您点击div,然后它会将html写入文本文件并保存它。这意味着,当您使用streamwriter时,您将在那里设置注释格式的所有代码,并且只需获取注释的用户名和文本

没有db我能做吗


你可以用脚驾驶汽车,但这并不一定是个好主意。使用数据库有很多好处,例如安全性、并发性,甚至性能。您应该将此视为为为工作选择正确工具的机会,而不是重新发明轮子。

您会发现,简单使用数据库比尝试修改内存中的静态HTML文件更容易实现简单性和性能。这种方法与简单方法一样,难度更大,稳定性也更低。使用streamwriter时,在文本文件中插入注释,所有I/O的成本几乎相同,文件或数据库。然而,在数据库上维护它对您来说是很容易的。你还有什么想法?文件、分布式缓存、键/值内存?他正在寻找的选项很可能在页面底部包含一个表单,当您点击提交时,streamwrite将获取该数据并将其写入HTML页面底部。从本质上讲,这是一种权衡,不必建立数据库连接,也不必有更多的标记和更长的页面负载。如果只有很少的注释,那么不使用db方式可能会“更有效”,但将数据大量存储在db中肯定会更容易、更好。它也会变得更容易格式化。@Tony318-你是唯一理解我的人!我想我还不够清楚。。1.我的问题是如何在HTML文件中找到正确的更新位置(我想把新的div或Li添加到页面的底部,但是在最后一个注释添加后……中间的某个地方……?)。2.为什么在“大量a db更好”中我看不出任何区别?加载静态html页面总是会更好,我错了吗?@BornToCode:加载静态文件可能会更快,是的。但随着文件的增长,写入文件的速度会越来越慢。此外,为了找到写入文件的正确位置,您必须解析文件。这也是相对缓慢的。整个行业都投入了大量的时间和精力来优化关系数据库。无意冒犯,但我怀疑你能战胜它。除了性能,您的方法将导致更多的代码、更多的手动工作来调整它以使其“恰到好处”,以及其他问题。(并发、从坏数据恢复等)为什么添加注释会导致站点重新编译,是因为服务器看到文件被修改,然后重新编译吗?我该如何处理javascript注入?@BornToCode您可以创建comments Server.HtmlEncode(不是您的格式标签,只是用户在上面写的内容)@David是的,当然可以使用xml文件,或者其他类似xml的文件数据库,我只是在这里提出一个想法。如果您使用此包含方法,aspx不会重新编译站点!追加是在commants.htm文件上完成的,而不是在aspx上@BornToCode我告诉过你,当你把HTML代码写入文件时,只在用户输入上生成HTML代码。脚本还不够,符号
@BornToCode:听亚里士多德讲这个。这当然是相当痛苦的,但获得知识是值得的