0

我正在尝试在 javascript 中获取一些 html 元素位置并将其传递回 C#,但我收到该错误:不支持“System.Type”实例的序列化和反序列化。

布雷泽:

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];

}

4

1 回答 1

0

尝试使用这个

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 };
}
于 2022-01-26T18:00:01.180 回答