使用AJAX处理ASP.NET MVC中的实体的异同

布莱克·里维尔(Blake Rivell)

我有一个剃刀视图,其中模型是产品的IEnumerable,所以我只是使用模型上的foreach循环在视图中列出所有产品。除了每种产品,您还可以在下面看到我正在显示其拥有多少ThumbsUps的计数。我要完成的最后一件事情是,当他们单击链接“ Give Thumbs Up”时,我想向当前登录用户的数据库中添加一个ProductThumbsUp记录。如果用户已经竖起大拇指并再次单击它,我想从产品中删除其ProductThumbsUp。

我正在使用EntityFramework 7和MVC6。我有两个表:Product和ProductThumbsUp。

我想知道当他们使用MVC单击链接时如何为当前登录用户添加ProductThumbsUp记录。我假设类似这样的内容绝对应该是AJAX帖子。但是我是否只想将ProductId发送到AJAX帖子?然后在我的控制器中创建一个新的ProductThumbsUp并设置它的ProductId。然后将新创建的ProductThumbsUp对象和当前登录的用户发送到我的存储库层进行保存。

我想知道是否有更好的方法来执行此操作,因为模型中的每个帖子都已附加了ThumbsUps列表。有没有更好的方法可以做到这一点?

这是我的剃刀视图的设置方式:

@model IEnumerable<Product>
@foreach (var product in Model)
{
    <h2>@product.Name</h2>
    <div>@product.Description</div>
    <a href="#" class="lnkViewLikes"># of Thumbs Ups Given:<span class="badge">@product.ThumbsUps.Count()</span></a>

    <a href="#" class="lnkThumbsUp">Give Thumbs Up</a>
}

这是我的产品模型的样子:

public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }

public ICollection<ProductThumbsUp> ThumbsUps { get; set; }
MoXplod

为了提高效率,

我建议获取所有产品,而不是从DB获取每个产品的所有thumbsUps行,而只是获得每个产品的赞计数。

由于您不需要每行thumbsUp,而只需要显示计数即可。想象一下,如果您的产品有100万个赞,那么按比例扩展方案就突然从数据库中拉出100万行到您的服务器-只是为了显示数量。

我还要再次调用数据库,以获取当前用户给出的所有thumbsUps(他喜欢的产品ID列表)。这样,您便可以向用户显示他们是否喜欢或现在。

要将原始的大拇指添加到产品中-您可以发送一个ajax调用,告诉他喜欢哪个productId,并且mvc操作可以在数据库中插入thumbsUp行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用ajax处理asp.net中的TextBox.KeyPress事件

来自分类Dev

使用实体框架更新ASP.NET MVC应用程序中的相关实体

来自分类Dev

带有实体框架的ASP .NET MVC 5中的并发

来自分类Dev

在ASP.NET Core MVC中创建实体列表

来自分类Dev

更新asp.net mvc中的存根实体的单列

来自分类Dev

实体框架中的 System.NotSupportedException (ASP.NET MVC)

来自分类Dev

ASP.NET MVC,ajax请求未异步处理

来自分类Dev

在实体框架ASP.NET MVC中的LINQ到实体中构造查询

来自分类Dev

ASP.NET MVC处理时区实体框架

来自分类Dev

如何正确处理ASP.NET Core MVC中的AJAX错误?

来自分类Dev

ASP .Net MVC中的错误处理

来自分类Dev

处理 ASP.NET MVC 中的文件

来自分类Dev

使用实体框架6在ASP.NET MVC 5中显示单个数据列

来自分类Dev

如何使用实体框架在ASP.NET MVC中检查删除操作是否成功

来自分类Dev

使用实体框架时ASP.NET MVC中的Fluent API含义

来自分类Dev

使用实体框架和ASP.NET MVC从列表中反转分区结果

来自分类Dev

如何使用实体框架在 ASP.NET MVC 中调用存储过程

来自分类Dev

如何使用 ASP.NET MVC 和实体框架在 C# 中创建注销

来自分类Dev

使用Jquery处理加载的内容。MVC ASP.NET

来自分类Dev

使用ADO.NET实体数据模型处理ASP.NET动态数据中的数据库插入冲突

来自分类Dev

使用实体框架ASP.NET MVC登录过程

来自分类Dev

结合使用ASP.NET MVC和实体框架

来自分类Dev

使用asp.net处理HttpWebRequest中的Cookie

来自分类Dev

使用C#在ASP.NET中处理颜色

来自分类Dev

如何使用Datetime处理asp.net中的空值?

来自分类Dev

使用C#在ASP.NET中处理颜色

来自分类Dev

如何使用 ASP.NET MVC 剃刀中的实体框架检查数据库中是否存在记录?

来自分类Dev

使用Ajax的Asp.Net MVC部分视图更新

来自分类Dev

在ASP.NET MVC中使用AJAX刷新表

Related 相关文章

  1. 1

    如何使用ajax处理asp.net中的TextBox.KeyPress事件

  2. 2

    使用实体框架更新ASP.NET MVC应用程序中的相关实体

  3. 3

    带有实体框架的ASP .NET MVC 5中的并发

  4. 4

    在ASP.NET Core MVC中创建实体列表

  5. 5

    更新asp.net mvc中的存根实体的单列

  6. 6

    实体框架中的 System.NotSupportedException (ASP.NET MVC)

  7. 7

    ASP.NET MVC,ajax请求未异步处理

  8. 8

    在实体框架ASP.NET MVC中的LINQ到实体中构造查询

  9. 9

    ASP.NET MVC处理时区实体框架

  10. 10

    如何正确处理ASP.NET Core MVC中的AJAX错误?

  11. 11

    ASP .Net MVC中的错误处理

  12. 12

    处理 ASP.NET MVC 中的文件

  13. 13

    使用实体框架6在ASP.NET MVC 5中显示单个数据列

  14. 14

    如何使用实体框架在ASP.NET MVC中检查删除操作是否成功

  15. 15

    使用实体框架时ASP.NET MVC中的Fluent API含义

  16. 16

    使用实体框架和ASP.NET MVC从列表中反转分区结果

  17. 17

    如何使用实体框架在 ASP.NET MVC 中调用存储过程

  18. 18

    如何使用 ASP.NET MVC 和实体框架在 C# 中创建注销

  19. 19

    使用Jquery处理加载的内容。MVC ASP.NET

  20. 20

    使用ADO.NET实体数据模型处理ASP.NET动态数据中的数据库插入冲突

  21. 21

    使用实体框架ASP.NET MVC登录过程

  22. 22

    结合使用ASP.NET MVC和实体框架

  23. 23

    使用asp.net处理HttpWebRequest中的Cookie

  24. 24

    使用C#在ASP.NET中处理颜色

  25. 25

    如何使用Datetime处理asp.net中的空值?

  26. 26

    使用C#在ASP.NET中处理颜色

  27. 27

    如何使用 ASP.NET MVC 剃刀中的实体框架检查数据库中是否存在记录?

  28. 28

    使用Ajax的Asp.Net MVC部分视图更新

  29. 29

    在ASP.NET MVC中使用AJAX刷新表

热门标签

归档