4

有很多与此类似的问题,但没有一个涉及我发现的 webforms 和 c#。

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

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

制作 updown imgs,当您单击 img jquery 时将被投票对象的 id 隐藏在某处(在哪里?),如果它能够创建投票记录然后将 img 设置为基于 ashx 页面响应的颜色/灰度?

示例或示例链接的奖励积分 =D

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

4

2 回答 2

1

我会按照你说的方式做,但是在数据库中我会更多地使用关系数据库的特性。

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

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

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

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

希望这个对你有帮助!

于 2010-03-03T17:20:39.670 回答
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>
于 2010-03-03T17:22:59.307 回答