【发布时间】:2021-04-05 05:54:40
【问题描述】:
我已经创建了一个 TestComponent.razor
@typeparam TValue
@code {
private TValue Type { get; set; }
[Parameter] public string String { get; set; }
}
在 index.razor 页面中,我有以下内容:
@page "/"
<h1>Hello, world!</h1>
Welcome to your new app.
<SurveyPrompt Title="How is Blazor working for you?" />
<ComponentFactory.Data.SampleComponent TValue="@myType" String="@myString"></ComponentFactory.Data.SampleComponent>
@code{
Type myType { get; set; } = typeof(string);
string myString { get; set; } = "hello";
}
我不能将Type myType 传递给TValue,除非我将myType 设为当前页面的@typeparam
为什么会发生这种情况?有没有办法将变量传递到组件的@typeparam?
【问题讨论】:
-
描述你想要实现的目标可能会更好,因为你当然可以通过制作一个接受类型的参数将类型传递给组件,但我们不知道是什么你想做是因为你已经决定如何去做“它”,发现那个方法不起作用,只是问如何让那个方法起作用,它不会。说明您希望您的组件能够做什么,并且有人将能够提供帮助
标签: c# asp.net-core blazor blazor-server-side .net-5