【发布时间】:2011-12-10 08:14:28
【问题描述】:
我正在学习 Visual Studio 2010。我想制作一个网页,显示我数据库中表格的内容,并随着表格中的数据更新而异步更新。我猜我想制作“WCF 服务”或“Web 表单”。我说的对吗?
我是从头开始这个应用程序,所以没有我需要使用的现有代码。只想让基本功能正常工作。我想要的主要是进行异步更新。
【问题讨论】:
标签: c# asp.net visual-studio-2010
我正在学习 Visual Studio 2010。我想制作一个网页,显示我数据库中表格的内容,并随着表格中的数据更新而异步更新。我猜我想制作“WCF 服务”或“Web 表单”。我说的对吗?
我是从头开始这个应用程序,所以没有我需要使用的现有代码。只想让基本功能正常工作。我想要的主要是进行异步更新。
【问题讨论】:
标签: c# asp.net visual-studio-2010
我想要的主要是进行异步更新。
您可以查看SignalR 以向客户端推送更新。如果您想使用更标准的 PULL 模型,您可以使用 setInterval javascript 函数并定期向服务器发送 AJAX 请求以检查更新。在这两种情况下,您都需要一个 ASP.NET 前端应用程序。就实际数据获取而言,这可以由 ASP.NET 应用程序直接完成,或者如果您想构建一个可重用的服务,您可以将其抽象为您的 ASP.NET 应用程序将使用的 WCF 服务。
【讨论】:
您不想要WCF Service。 Web Form 或 MVC Application 是要走的路。
我更喜欢 MVC 应用程序,因为它很好用,但是 Web 表单同样可以很好地实现您的需求。
为了使异步位工作,您可以使用 Ajax 工具包,或者更好的是,连接一些 jQuery/Mootools 或类似的东西。
这是另一个(类似的)SO 问题,答案指向了实现异步位的方法。
asp.net webforms ajax update gridview
【讨论】:
就在网页上显示数据而言,您肯定希望使用网络表单。
实时更新网页会很困难,并且需要进行大量微调,以免占用服务器资源。简而言之,您需要使用 JavaScript 和 AJAX 每 n 秒轮询一次数据库,并使用服务器端回调将更改绑定到网格。
如果我是你,我会避免实时更新并在两者之间找到一个舒适的地方。
【讨论】:
您应该查看的是 Web 窗体中的 GridView 和 SqlDataSource。
GridView 是一个显示类似表格元素的控件。
SqlDataSource 是 GridView 从中获取数据并将数据发送到的地方,它必须使用连接字符串连接到数据库。
为了拥有所有 CRUD 功能,您需要在 SqlDataSource 中拥有 SelectCommand、InsertCommand、UpdataComand 和 DeleteCommand。
【讨论】: