问题标签 [asp.net-core-viewcomponent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
20906 浏览

ajax - 用于 ajax 刷新的 Viewcomponent 替代方案

我有一个视图组件,其中包含一些嵌入在各个页面中的可重用业务逻辑。这一直运作良好。但是,我现在需要使用 ajax 刷新视图组件。

有没有办法做到这一点?根据我的阅读,这是不可能的,尽管该信息有点过时了。如果不可能,最好的选择是什么?

0 投票
1 回答
2535 浏览

c# - ASP.NET Core 布局页面多侧边栏菜单

所以这里的问题,用户可以选择六个链接之一,像这样 在此处输入图像描述

在他选择特定链接(例如链接 1)后,他应该被重定向到带有侧边栏菜单的主页,如下所示:

在此处输入图像描述

如果他选择例如链接 2,他的菜单应该如下所示:

在此处输入图像描述

无论如何,我不知道如何实现这一点,因为我的菜单位于 _Layout.cshtml 内,查看组件功能可以帮助我解决这个问题吗?

0 投票
0 回答
631 浏览

asp.net-core - 用于 ViewComponent 渲染的 TagHelper

在重新发明轮子之前(不确定在这种情况下是否可能!),是否有一段代码显示如何在 Tag Helper 实现中调用 ViewComponent?

编辑:包括泰勒谈话中的代码

0 投票
1 回答
5014 浏览

asp.net-core - 我可以提交 MVC6 视图组件吗?

我可以以某种方式在视图组件中提交表单吗?我知道局部视图是不可能的。视图组件有自己的控制器,所以这个问题的目标是我是否可以使用这个控制器来提交由组件视图呈现的表单。

MVC6 视图组件文档中没有提到它。所以这是不可能的,我想,但也许我错了:)

0 投票
3 回答
6135 浏览

c# - ASP.NET MVC 6:在单独的程序集中查看组件

我想在 MVC 6 Web 启动项目的单独程序集中定义视图组件(在 ASP.NET MVC 6 中是新的),以便我可以在多个 Web 项目中重用它们。示例解决方案可能如下所示:

  • BookStore.Components (包含通用视图组件)
  • BookStore.Web1 (参考 BookStore.Components)
  • BookStore.Web2 (参考 BookStore.Components)

我创建了一个新的类库(包)并在里面创建了一个视图组件。我还按照嵌套文件夹约定创建了视图。我的BookStore.Components项目如下所示:

在此处输入图像描述

当我尝试从我的 Web 项目中调用此视图组件时:

...我收到一个 500 错误,内容为空。似乎发现了 ViewComponent 类,但没有发现该组件的剃刀视图。

我还尝试扩展DefaultViewComponentDescriptorProvider以便BookStore.Components可以发现组件中的视图组件:

定义了一个 AssemblyProvider

使用 Autofac 注册的 AssemblyProvider

我不确定是否DefaultViewComponentDescriptorProvider需要注册上述内容,所以我尝试了使用和不使用它,但在调用视图组件的页面上仍然出现 500 错误。

如何调用与 MVC6 Web 项目分开的程序集中的视图组件?

0 投票
2 回答
2853 浏览

c# - 如何解决〜来自 TagHelper 的根链接

在 ASP.NET 5 MVC6 RC1 - 我有一个 ViewComponent 旨在代表我传统的“屏幕左侧”主菜单。

我正在编写我的第一个 TagHelper 来表示每个菜单项链接。

我被困在我试图创建超链接的部分。

我该如何解决~/dashboard/summary?

如果我在此页面上显示菜单,则链接显示为/dashboard/~/dashboard/summary

@Url.Content("...")显示@Url.Content("...")ie 未作为剃刀处理。标签助手输出纯。

理想情况下,我希望该解决方案与 .NET Core 兼容,因为我最终的目标是实现 .NET Core 可部署解决方案。

见下文:

谢谢!担。

0 投票
1 回答
727 浏览

c# - 跨区域视图组件

我有一个 ViewComponent 存储在一个名为“Dashboard”的区域中,但现在我想在另一个名为“Appplications”的区域中使用这个 ViewComponent。是的,我可以将它添加到根视图/共享文件夹,但我正在努力通过强大的区域使用来制作一个非常模块化的应用程序。

ASP.NET 5 RC1 MVC 6 似乎不支持对其他组件的跨区域引用。

如何添加其他视图位置?我需要添加: /Areas/Dashboard/Views/Shared/Components/DashboardMenu/Default.cshtml 作为视图渲染器的搜索位置

0 投票
1 回答
9347 浏览

ajax - 我可以通过 ajax 重新加载 asp 5/MVC 6 视图组件吗?

我正在使用 MVC 6 并且有一个当前注册到我的站点的用户网格。在网格之上,我为搜索/过滤功能构建了一个视图组件。它通过调用

要求之一是能够保存和重新应用下拉列表的值,以便最终用户可以快速访问他/她经常使用的搜索。我在所有已保存搜索的视图组件中添加了一个下拉列表。

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

我的问题是:

  1. 按下按钮后如何通过ajax重新加载视图组件?
  2. 在这种情况下,由于视图组件和重新加载的限制,我应该使用 Partial 而不是视图组件吗?

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


解决方案

在写出问题的同时考虑问题后,我想出了一个更好(更正确?)的方法,它不涉及重新加载视图组件。在保存时,对保存搜索方法进行 ajax 调用并将一个元素添加到下拉列表中。在保存的搜索应用上,调用将返回保存的搜索并应用它的方法。

但是,我仍然想知道是否可以(以及如何)在 MVC 6 中重新加载视图组件。

0 投票
1 回答
595 浏览

c# - 渲染 ViewComponent 返回 HTML 500 错误

我有一个基于 MVC 6 的非常简单的解决方案。

ViewComponent -> /ViewComponents/PriorityListViewComponent.cs

“部分”视图 /Views/Components/PriorityList/Default.cshtml

查看 /Views/Shared/Index.cshtml

上面返回一个 HTTP 500 错误,我不知道为什么。我认为所有关于路径的规则都被遵守了。

0 投票
1 回答
336 浏览

c# - 在操作方法之后调用 ViewComponent

我有以下布局页面:

ViewComponent它为经过身份验证和未经过身份验证的用户呈现两种不同的视图:

我还有一个注销用户的操作方法:

我想在调用action方法后渲染,ViewComponent 怎么LogOut做?