【发布时间】:2026-01-30 22:20:04
【问题描述】:
我正在尝试使用 3.1 中的新标签助手将参数传递到剃须刀页面上的 Blazor 组件,它适用于整数类型,但如果我更改为字符串字符串,则会引发错误。我错过了什么?
组件:
<p>Test Parameter: @TestParameter</p>
@code {
[Parameter]
public int TestParameter { get; set; }
}
剃刀页面:
@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:无法将“System.Int32”类型的对象转换为“System.String”类型。
<p>Test Parameter: @TestParameter</p>
@code {
[Parameter]
public string TestParameter { get; set; }
}
【问题讨论】:
-
尝试使用 js 字符串表示法:"'20'" 或 '"20"'
-
@aguafrommars 成功了。我以为我什么都试过了,但我想我没有尝试过那种语法。谢谢。
标签: parameters components blazor