gpt4 book ai didi

parameters - Blazor 3.1 Component Tag Helper 参数

转载 作者:行者123 更新时间:2023-12-01 13:12:12 26 4
gpt4 key购买 nike

我正在尝试使用 3.1 中的新标记助手将参数传递到 Razor 页面上的 Blazor 组件,它使用整数类型,但如果我更改为字符串,则会引发错误。我错过了什么?

组件:

<p>Test Parameter: @TestParameter</p>

@code {
[Parameter]
public int TestParameter { get; set; }

}

Razor 页面:

@page "/test"
@model BlazorTest.testModel
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>test</title>
</head>
<body>

<component type="typeof(TestComponent)" render-mode="ServerPrerendered" param-TestParameter="20" />

<script src="~/_framework/blazor.server.js"></script>
</body>
</html>

将组件更改为以下原因:

InvalidCastException: Unable to cast object of type 'System.Int32' to type 'System.String'.

<p>Test Parameter: @TestParameter</p>

@code {
[Parameter]
public string TestParameter { get; set; }

}

最佳答案

你应该这样做:

 <p>Test Parameter: @TestParameter</p>

@code {
[Parameter]
public string TestParameter { get; set; }

}

还有这个:

<app>
@{
var val = "Hello world";
}
<component type="typeof(TestComponent)" render-mode="ServerPrerendered" param-TestParameter="@(val)" />
</app>

这只是一个有根据的猜测,您应该用 var 定义一个您想要的类型的变量,然后让它在 Razor 表达式中求值。因此,如果您的参数属性传递了一个整数,您应该像这样:

  @{
var val = 120;
}

关于parameters - Blazor 3.1 Component Tag Helper 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59242649/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com