使用System.Text.Json将C#对象序列化为JSON字符串,然后将它传递给JS函数。例如:
C#:
using System.Text.Json;
public class MyClass {
public int Id { get; set; }
public string Name { get; set; }
}
public partial class IndexComponent
{
private MyClass myObj = new MyClass { Id = 1, Name = "John Doe" };
private async Task CallJsFunction()
{
string json = JsonSerializer.Serialize(myObj);
await JSRuntime.InvokeVoidAsync("myJsFunction", json);
}
}
JS:
function myJsFunction(json) {
var obj = JSON.parse(json);
console.log(obj);
}
在这个例子中,我们将MyClass对象序列化为JSON字符串,然后传递给名为“myJsFunction”的JS函数。在JS函数中,我们使用JSON.parse()将JSON字符串解析为JavaScript对象。这样可以成功地将C#对象传递给JS函数。
请注意,这种方法只适用于可以序列化为JSON的对象。如果你想传递包含非序列化对象的复杂对象,你需要考虑使用其他技术,如SignalR。