我在 blazor 中有一个 InputText,我想阻止非数字字符,执行此操作的基本 razor 和 C# 代码是什么?这就是我需要它工作的方式,用户输入一个字符,它会拒绝输入所有内容并显示一条验证消息,说明只允许使用数字。到目前为止,我已经尝试使用正则表达式的数据表示法范围属性,但这并不拒绝非数字字符。
blazor blazor-server-side blazor-client-side asp.net-blazor blazor-webassembly
不重复:我觉得这不是重复,因为在我的具体情况下,我觉得忽略警告实际上更好.
例如,
IEnumerable<Item> milionItems = GetAMillionItemsFromDatabase();
var item1 = millionItems.FirstOrDefault(x=> x.Condition == "Excellent");
var item2 = millionItems.FirstOrDefault(x=> x.Condition == "Good");
Run Code Online (Sandbox Code Playgroud)
我收到'millionItems'下的警告信息,我知道这意味着什么,但我不确定是否总是值得ToList'去摆脱它.
GetAMillionItemsFromDatabase().ToList();
Run Code Online (Sandbox Code Playgroud)
这看起来很糟糕,因为它会立刻将一百万条记录带入内存.
但是,如果我不这样做并继续枚举IEnumerable,即使它会两次打到数据库,它也不会带来所有数据,因为它会找到第一个匹配项并返回.在这种情况下,在我看来,实际上忽略该消息更好.
是否可以存储或缓存属于一个选择列的一部分的值,然后用于下一个选择列?例如,
select
FirstColumn = (complex query returns a value based on ThirdColumn),
SecondColumn = (uses the same value returned from above + does some additional calculations.)
from SomeTable
Run Code Online (Sandbox Code Playgroud)
是否可以做类似的事情,这样我就不必两次编写相同的复杂查询?
例如,如果我有一个底层数据类型为 int 的 InputNumber,我想显示一条消息,指出不允许大于 int.MaxValue 的数字。目前,如果我要尝试任何大于整数最大值的数字,我会收到一条默认消息:“该字段必须是数字”。该消息显然不正确,我想更改它。有没有办法在 Blazor 中做到这一点?
blazor blazor-server-side blazor-client-side asp.net-blazor blazor-webassembly