2015-06-17 163 views
4

我在做一个学校项目,想法是: 每个人都可以登录创建一个建议。 每个人都可以登录并投票(upvotes/downvotes)建议。asp.net mvc 5投票系统

到目前为止,我有: 创建我的建议模式:

namespace Democracy.Models 
{ 
public class Suggestion 
{ 
    public int SuggestionId { get; set; } 
    public string Headline { get; set; } 
    public string ImageUrl { get; set; } 
    public string Body { get; set; } 
    public int score { get; set; } 
    public DateTime CreaationDate { get; set; } 
    public Vote Votes { get; set; } 
    } 
} 

和我架式这使我有我的控制器。

现在票...我创建了一个投票模型

namespace Democracy.Models 
{ 
public class Vote 
{ 
    public int VoteId { get; set; } 
    public bool Value { get; set; } 
    public string UserId { get; set; } 
    } 
} 

然后这个想法是,用户可以点击向上/向下表决的建议,但林不知道如何实现它,并有东西告诉我我在一个错误的路径..

任何点在正确的方向将不胜感激。

编辑:即时通讯没有考虑制作upvote & downvote按钮的建议,然后当我点击“upvote”我创建一个投票与userId,建议ID然后voteValue ..好还是坏的方法?

回答

0

我会建议检查stakoverflow投票的问题和答案。您需要在值字段中使用整数类型。

public class Vote 
{ 
    public int VoteId { get; set; } 
    public int Value { get; set; } 
    public string UserId { get; set; }  
} 

然后在每次点击它会增加数字。如果你对它们感到满意,请使用Javascript框架。所以在客户端,您可以编写一个处理程序来使用异步更新来增加值。

  • 编辑: 请在下面的链接找到我的答案。我在那里创建了代码。

https://gist.github.com/MisterFantastic/2718f264c0b1ff774d33

+0

是的,我知道,我必须递增/递减票......但现在如何使用asp.net MVC和剃刀引擎实现它,我会prefter保持的JavaScript出来的它。 –

+0

为什么让JS摆脱它? Asp.NET MVC非常适合使用JS。如果你不打算使用JS,不妨使用我的问题中提到的WebForms – thorkia

+0

,这是一个学校项目,而asp.net MVC 5是主题,所以如果没有,我更愿意。 –