加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 在ASP.Net MVC中的操作后替换partialview

发布时间:2020-12-16 10:01:04 所属栏目:asp.Net 来源:网络整理
导读:我还是ASP.NET MVC的新手,并想知道如何实现以下目标: 在作为母版页的一部分的普通视图中,我使用循环创建不同数量的部分视图,每个视图代表用户应该能够投票的项目.点击投票按钮后,评级应提交给数据库,之后,用户点击的特定局部视图将被同一视图替换,并改变一
我还是ASP.NET MVC的新手,并想知道如何实现以下目标:
在作为母版页的一部分的普通视图中,我使用循环创建不同数量的部分视图,每个视图代表用户应该能够投票的项目.点击投票按钮后,评级应提交给数据库,之后,用户点击的特定局部视图将被同一视图替换,并改变一些视觉属性.实现这一目标的最佳做法是什么?

这是我开始的方式:
1.我使用if-sentence定义局部视图,根据特定视图模型中的标志区分视觉外观.因此,如果标志为正,则显示投票控制,如果是负数,则不显示.

>我为投票按钮分配了一个Url.Action(..),触发了控制器方法.在此方法中,新的评级将添加到数据库中.
>在控制器方法中,我返回带有更新的ViewModel的PartialView.不幸的是,整个视图被取代,而不仅仅是部分视图.

任何建议如何解决这个特定问题或如何实现整个事情将受到高度赞赏.

非常感谢,
克里斯

解决方法

琐碎(但无论如何正确和可用)解决您的问题的方法是Ajax.BeginForm()帮助投票.通过这种方式,您可以将投票更改为ajax调用,并且您可以轻松指定此调用返回的结果(来自您的投票操作,将返回仅包含1个更改项的部分视图)将用于替换旧内容(例如一个特殊的div包含投票前的旧项目).

更新 – 2016年11月30日

例如:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读