Blazor JavaScript return 可以是一个数组吗?
Can Blazor JavaScript return an array?
我正在尝试在 javascript 中获取一些 html 元素位置并将其传回 C#,但我收到该错误:'System.Type' 实例的序列化和反序列化不是支持。
Blazor:
double[] jsResult = await _jsRuntime.InvokeAsync<double[]>("getBottomOffset", _element);
double bottomOffset = jsResult[0];
double height = jsResult[1];
_resultsStyle = Options.Count * ResultHeight < bottomOffset ? $"top: 0; left: 0; " : $"bottom: -{height}px; left: 0;";
JS :
function getBottomOffset(el) {
const rect = el.getBoundingClientRect();
return [(window.innerHeight - rect.bottom), rect.height];
}
试试这个
public class data
{
public double bottomOffset { get; set; }
public double height { get; set; }
}
调用javascript函数
data obj = await _jsRuntime.InvokeAsync<data>("getBottomOffset", _element);
你的javascript函数
function getBottomOffset(el) {
const rect = el.getBoundingClientRect();
return { bottomOffset: (window.innerHeight - rect.bottom), height: rect.height };
}
我正在尝试在 javascript 中获取一些 html 元素位置并将其传回 C#,但我收到该错误:'System.Type' 实例的序列化和反序列化不是支持。
Blazor:
double[] jsResult = await _jsRuntime.InvokeAsync<double[]>("getBottomOffset", _element);
double bottomOffset = jsResult[0];
double height = jsResult[1];
_resultsStyle = Options.Count * ResultHeight < bottomOffset ? $"top: 0; left: 0; " : $"bottom: -{height}px; left: 0;";
JS :
function getBottomOffset(el) {
const rect = el.getBoundingClientRect();
return [(window.innerHeight - rect.bottom), rect.height];
}
试试这个
public class data
{
public double bottomOffset { get; set; }
public double height { get; set; }
}
调用javascript函数
data obj = await _jsRuntime.InvokeAsync<data>("getBottomOffset", _element);
你的javascript函数
function getBottomOffset(el) {
const rect = el.getBoundingClientRect();
return { bottomOffset: (window.innerHeight - rect.bottom), height: rect.height };
}