当前位置:  开发笔记 > 后端 > 正文

我可以通过ajax重新加载asp 5/MVC 6 View Component吗?

如何解决《我可以通过ajax重新加载asp5/MVC6ViewComponent吗?》经验,为你挑选了1个好方法。

我正在玩MVC 6,并且有一个用户网格,目前已注册到我的网站.在网格之上,我为搜索/过滤功能构建了一个View Component.它是通过调用

@Component.Invoke("UserSearchBar")

其中一个要求是能够保存并重新应用下拉列表的值,以便最终用户可以快速访问他/她经常使用的搜索.我在所有已保存搜索的View Component中添加了一个下拉列表.

一旦用户保存搜索,我想重新加载UserSearchBar视图组件以更新下拉列表.

我的问题是:

    按下按钮后如何通过ajax重新加载视图组件?

    在这种情况下,由于视图组件和重新加载的限制,我应该使用Partial而不是视图组件吗?

我可以在View Component中使用Partial来下拉.或者以编程方式向下拉列表添加元素,但是当我单击按钮应用其中一个已保存的搜索时,我仍然会遇到重新加载视图组件的相同问题.


在编写问题时仔细考虑了问题后,我提出了一种更好(更正确?)的方法,不涉及重新加载View Component.在保存时,对保存搜索方法进行ajax调用,并在下拉列表中添加元素.在保存的搜索应用中,调用一个方法,该方法将返回已保存的搜索并应用它.

但是,我仍然想知道是否有可能(以及如何)在MVC 6中重新加载View Component.



1> Ryan Helmosk..:

您需要做的就是在控制器中设置一个返回视图组件的路径.例如:

public class MyController : Controller {
    public IActionResult GetMyViewComponent() {
        return ViewComponent("MyViewComponent", );
    }
}

然后,您可以通过AJAX向此控制器发出GET请求,并将旧视图组件替换为请求的结果.

至于你是否应该使用部分或视图组件,这取决于你,但我建议坚持使用视图组件,因为它允许你在组件本身内保留搜索栏的相关逻辑.

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有