繁体   English   中英

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

[英]Voting System Like SO - C#, Asp.net, Webforms

有很多与此类似的问题,但没有涉及到我发现的Webforms和C#。

我有Linq-to-SQL,一个投票表,我想在其中记录投票记录(投票/关闭/时间/ ipaddress /用户等)

是这样做的方法还是有更好的方法:

制作img下来,单击img jQuery时,隐藏要投票的对象的id(在那里?),jquery会将您转到ashx页面,如果该页面能够创建投票记录,然后将img设置为,则返回true。颜色/灰度基于ashx页面的响应?

示例积分或示例链接= D

PS。 我在很短的时间内就收到了很多意见。 我将在今天晚上发布我的最终代码。

我会按照您所说的去做,但是在数据库中,我会更多地使用关系数据库功能。

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

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

那是一回事。 然后使您的投票图像可点击,因此使用onclick事件,并使用JQuery应该非常简单。

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

希望这个对你有帮助!

我认为您已经有了大致的想法。 您可以使用传统的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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM