Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以在Razor中获取对内存中或动态创建的DOM元素的引用?_C#_Razor_Blazor - Fatal编程技术网

C# 是否可以在Razor中获取对内存中或动态创建的DOM元素的引用?

C# 是否可以在Razor中获取对内存中或动态创建的DOM元素的引用?,c#,razor,blazor,C#,Razor,Blazor,如果您有一个带有DOM元素(例如HTMLCanvasElement)的Razor页面,您可以使用@ref获得对它的ElementReference。这对于传递给JavaScript互操作可能很有用,例如,您可以将此引用传递给调用画布上下文绘制命令的互操作库,将ElementReference传递给JS,以便它可以作用于DOM对象 现在,假设您也希望这样做,但是使用在内存中动态创建的htmlcanvaseElement。因此,它不会出现在Razor页面上,也不会有@ref,但您可能希望(从C#)在

如果您有一个带有DOM元素(例如
HTMLCanvasElement
)的Razor页面,您可以使用
@ref
获得对它的
ElementReference
。这对于传递给JavaScript互操作可能很有用,例如,您可以将此引用传递给调用画布上下文绘制命令的互操作库,将ElementReference传递给JS,以便它可以作用于DOM对象

现在,假设您也希望这样做,但是使用在内存中动态创建的
htmlcanvaseElement
。因此,它不会出现在Razor页面上,也不会有
@ref
,但您可能希望(从C#)在其上调用一些绘图命令

所以问题是:是否可以在JS或C#中创建内存中的DOM元素,并获取对其的
ElementReference
,或等效的元素


(请注意,有一些方法可以解决我的具体问题,例如,编写C#to JS interop,这样它就不需要画布引用,而是使用唯一标识符,但如果有答案,我认为这个问题在一般情况下是值得的。)