Blazor TypeError: невозможно прочитать свойство «removeChild» со значением null в Object.e [как удалитьLogicalChild]C#

Место общения программистов C#
Ответить
Anonymous
 Blazor TypeError: невозможно прочитать свойство «removeChild» со значением null в Object.e [как удалитьLogicalChild]

Сообщение Anonymous »

Я создал компонент для двойного списка. Все в порядке, но при отправке появляется ошибка.

Код: Выделить всё


Edit Columns










[i][/i] Close
[i][/i] Change


Код: Выделить всё

DualListbox
Код Razor:

Код: Выделить всё

@typeparam TValue
@inherits InputBase

@if (ReportColumns != null)
{


@foreach (var column in ReportColumns.OrderBy(c => c.Sort))
{
if (column.IsChecked == 1)
{
@column.Title
}
else
{
@column.Title
}
}

}
*

Код: Выделить всё

DualListbox
код программной части *:

Код: Выделить всё

using Project.Models;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Forms;
using Microsoft.JSInterop;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Threading.Tasks;

namespace Project.Components
{
public partial class DualListbox : InputBase
{
[Parameter] public string Id { get; set; }
[Inject] IJSRuntime JSRuntime { get; set; }
[Parameter] public ICollection ReportColumns { get; set; }

public DotNetObjectReference DotNetRef;
[Parameter] public EventCallback OnChanged { get; set;  }
protected override bool TryParseValueFromString(string value, out TValue result, out string validationErrorMessage)
{
try
{
if (value == "null")
{
value = null;
}
if (typeof(TValue) == typeof(string))
{
result = (TValue)(object)value;
validationErrorMessage = null;

return true;
}
else if (typeof(TValue) == typeof(int) || typeof(TValue) == typeof(int?))
{
int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var parsedValue);
result = (TValue)(object)parsedValue;
validationErrorMessage = null;

return true;
}

throw new InvalidOperationException($"{GetType()} does not support the type '{typeof(TValue)}'.");
}
catch (Exception ex)
{
throw ex;
}
}

protected override void OnInitialized()
{
base.OnInitialized();
DotNetRef = DotNetObjectReference.Create(this);
}

protected override async Task OnAfterRenderAsync(bool firstRender)
{
await base.OnAfterRenderAsync(firstRender);
if (firstRender)
{
await JSRuntime.InvokeVoidAsync("dualListboxComponent.init", Id, DotNetRef, "Change_SelectWithFilterBase");
}
}

[JSInvokable("Change_SelectWithFilterBase")]
public void Change(string value)
{
try
{
if (value == "null")
{
value = null;
}

var array = value.Split("#");
if (array[0] == "add")
{
int _value = int.Parse(array[1]);
var report = ReportColumns.Where(c => c.Id == _value).FirstOrDefault();
report.IsChecked = 1;
}
else
{
int _value = int.Parse(array[1]);
var report = ReportColumns.Where(c => c.Id == _value).FirstOrDefault();
report.IsChecked = 0;
}

}
catch (Exception ex)
{
throw ex;
}

if (OnChanged.HasDelegate)
OnChanged.InvokeAsync(value);
}
}
}
[2020-02-12T07:42:28.867Z] Ошибка: произошла ошибка при применении пакета 7.
e.log @ blazor.server.js:15 blazor.server.js:8 Uncaught (в обещании)


Ошибка типа: невозможно прочитать свойство 'insertBefore' со значением null
в Object.s [as InsertLogicalChild] (blazor.server.js:8)
в e.insertText (blazor.server.js:8)
в e.insertFrame (blazor.server.js:8)
в e.applyEdits (blazor.server.js:8)
в e.updateComponent (blazor.server.js:8)
в Object.t.renderBatch (blazor.server.js:1)
в e. (blazor.server.js:15)
в blazor.server.js:15
в Object.next (blazor.server.js:15)
в blazor.server.js:15 blazor.server.js:15 [2020-02-12T07:42:28.926Z] Ошибка: System.AggregateException: произошла одна или
несколько ошибок. (TypeError: невозможно прочитать свойство 'insertBefore'
со значением null) ---> System.InvalidOperationException: TypeError: невозможно
прочитать свойство 'insertBefore' со значением null в
Microsoft.AspNetCore.Components.RenderTree.Renderer.InvokeRenderCompletedCallsAfterUpdateDisplayTask(Task
updateDisplayTask, Int32[] updateComponents) --- Конец внутренней
трассировки стека исключений ---


Подробнее здесь: https://stackoverflow.com/questions/601 ... t-e-as-rem
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»