小编Tim*_*son的帖子

用于ASPNET CORE的TagHelper ViewComponent无法正常工作

我正在处理ASPNET CORE [版本1.1,使用VS2017社区,版本15.1(26403.3)]我创建了一个工作的ViewComponent UserDetails(缩写如下):

namespace AdminConsole.ViewComponents
{
[ViewComponent(Name = "UserDetails")]
public class UserDetailsViewComponent : ViewComponent
{ ...does stuff... }
Run Code Online (Sandbox Code Playgroud)

我可以通过使用在视图中成功调用它

@await Component.InvokeAsync("UserDetails")
Run Code Online (Sandbox Code Playgroud)

我宁愿通过使用TagHelper调用它,但它只是没有发生.我已经浏览了SO和其他有用的页面,而其他人似乎让它工作,我不能.

@addTagHelper "*, AdminConsole"在_ViewImports.cshtml中添加了一行,<vc:user-details></vc:user-details>在视图中我想要渲染VC,它不会渲染; 我没有得到错误,它只是没有渲染.

如果我将TagHelper声明更改为@addTagHelper *, AdminConsole(没有语音标记),它也不会呈现或出错.

如果我尝试上述两种组合并尝试<vc:UserDetails></vc:UserDetails>没有烤肉串的情况下,它不会渲染或错误.

我的_ViewImports.cshtml情况如下

@using AdminConsole
@using AdminConsole.Models
@using AdminConsole.Models.AccountViewModels
@using AdminConsole.Models.ManageViewModels
@using Microsoft.AspNetCore.Identity
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@inject Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration TelemetryConfiguration
@addTagHelper "*, AdminConsole"
Run Code Online (Sandbox Code Playgroud)

@addTagHelperdeclaration(AdminConsole.ViewComponents)中使用VC的完整命名空间会产生cannot resolve TagHelper错误.

我想我已经尝试了所有的排列,来自官方和社区来源的文档只是建议我尝试过(并且有所不同!).如果有人能帮助我解释一下,我将非常感激.

c# tag-helpers asp.net-core asp.net-core-viewcomponent

8
推荐指数
1
解决办法
1052
查看次数

AJAX调用返回ARRAY或单个OBJECT导致错误

Javascript真的不是我的力量,事实上我对它很可怕,所以刚刚开始掌握它.

我使用GET对API进行了AJAX调用.API返回标准JSON.

如果我没有提供ID,我的回复就是所有记录.如果我提供ID,我会收到一个单一记录响应.这是对的.

这是我的代码:

    $.ajax({
      url: apiURL,
      dataType: "json",
      type: "Get",
      success: function (data) {
        var row;
        for (var i = 0; i < data.length; i++) {
          row = row + "<tr>";
          row = row + "<td>" + data[i].id + "</td>";
          row = row + "<td>" + data[i].latitude + "</td>";
          row = row + "<td>" + data[i].longitude + "</td>";
          row = row + "<td>" + data[i].description + "</td>";
          row = row + "<td>" + data[i].dateRecorded + "</td>";
          row = row …
Run Code Online (Sandbox Code Playgroud)

javascript ajax

-1
推荐指数
1
解决办法
37
查看次数