投票系统像SO - C#,Asp.net,Webforms

时间:2010-03-03 17:13:11

标签: c# asp.net webforms voting

有很多类似的问题但没有涉及我找到的webforms和c#。

我有Linq-to-SQL,一个投票表,我想记录投票记录(Voteup / down / time / ipaddress / user等)

这是做到这一点的方式还是有更好的方法:

make updown imgs,隐藏在那里某处投票的对象的id(在哪里?)当你点击一个img jquery发送你到一个ashx页面,如果它能够创建投票记录然后设置则返回true根据ashx页面的响应,img是彩色/灰度吗?

示例的加分点或示例链接= D

PS。我在很短的时间内看到了很多观点。我今晚会发布我的最终代码。

2 个答案:

答案 0 :(得分:1)

我会像你说的那样做,但在数据库中我会更多地使用关系数据库功能。

例如,具有与问题表具有一对多关系的用户表。如果您希望他们(用户)也能够提出问题,那么您需要一个包含每个用户问题的表格,即另一个一对多关系。然后,您还需要一个与问题表和用户表具有一对多关系的投票表,以便您可以跟踪哪个用户对该问题进行了投票以及该问题是哪个问题。

最重要的是,如果您正确使用关系数据库系统,它将使您的生活更轻松地在后台跟踪事物,因此您将为用户提供更好的体验。

这是一回事。然后使你的投票图像可以点击,所以使用onclick事件,使用非常简单的JQuery。

单击图像时使用AJAX进行回发,因此每次用户投票时都不必在整个页面上发帖。这也将增加用户体验。 关于AJAX和ASP.NET的很多教程。

希望这有一些帮助!

答案 1 :(得分:1)

我认为你有一般的想法。您可以使用传统的WebForms AJAX,或使用jQuery $ .ajax()调用来完成整个操作 - 注册投票,返回结果并修改图像。

这是jQuery方法的框架:

使用Javascript:

function registerVote(voteType){
   $.ajax(function (){
          //get the name of the parent DIV 
          //(using the jQuery selector), which is the ID of the thing you're voting on
          //Use Success and Error callbacks to register a success or error. 
          //On success, change the selected vote image to the highlighted version
   })

}

HTML:

<div id="ThingToVoteOn1">
<img src="voteUp" onclick="registerVote('UP')">
<img src="voteDown" onclick="registerVote('DOWN')">

</div>