gpt4 book ai didi

asp.net-mvc - 在 ASP.Net MVC 中操作后替换部分 View

转载 作者:行者123 更新时间:2023-12-01 01:26:39 25 4
gpt4 key购买 nike

我对 ASP.NET MVC 还是很陌生,想知道如何实现以下目标:
在作为母版页一部分的普通 View 上,我使用循环创建了不同数量的局部 View ,每个 View 代表用户应该能够投票的项目。点击投票按钮后,评分将提交到数据库,之后,用户点击的特定部分 View 将被替换为相同的 View ,并改变一些视觉属性。实现这一目标的最佳实践是什么?

我是这样开始的:
1. 我用 if 语句定义了局部 View ,根据特定 View 模型中的标志区分视觉外观。因此,如果标志为正,则显示投票控制,如果为负,则不显示。

  • 我将 Url.Action(..) 分配给触发 Controller 方法的投票按钮。在这种方法中,新的评级被添加到数据库中。
  • 在 Controller 方法中,我返回带有更新后的 ViewModel 的 PartialView。不幸的是,整个 View 都被替换了,而不仅仅是局部 View 。

  • 任何关于如何解决这个特定问题或如何实现整个事情的建议都将受到高度赞赏。

    非常感谢,
    克里斯

    最佳答案

    您的问题的微不足道(但无论如何都是正确和可用的)解决方案是 Ajax.BeginForm() 投票助手。通过这种方式,您可以将投票更改为 ajax 调用,并且您可以轻松指定此调用返回的结果(来自您的投票操作,它将返回仅具有 1 个更改项的部分 View )将用于替换旧内容(例如一个特定的 div 包含投票前的旧项目)。

    更新 - 2016 年 11 月 30 日

    例如:

    @using (Ajax.BeginForm("SomeAction", "SomeController", new { someRouteParam = Model.Foo }, new AjaxOptions { UpdateTargetId = "SomeHtmlElementId", HttpMethod = "Post" }))

    关于asp.net-mvc - 在 ASP.Net MVC 中操作后替换部分 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7386207/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com