小编Use*_*123的帖子

Blazor - 如何防止文本框 (InputText) 中出现非数字字符?

我在 blazor 中有一个 InputText,我想阻止非数字字符,执行此操作的基本 razor 和 C# 代码是什么?这就是我需要它工作的方式,用户输入一个字符,它会拒绝输入所有内容并显示一条验证消息,说明只允许使用数字。到目前为止,我已经尝试使用正则表达式的数据表示法范围属性,但这并不拒绝非数字字符。

blazor blazor-server-side blazor-client-side asp.net-blazor blazor-webassembly

8
推荐指数
2
解决办法
1万
查看次数

Resharper的'可能多次枚举IEnumerable警告'

不重复:我觉得这不是重复,因为在我的具体情况下,我觉得忽略警告实际上更好.

例如,

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,即使它会两次打到数据库,它也不会带来所有数据,因为它会找到第一个匹配项并返回.在这种情况下,在我看来,实际上忽略该消息更好.

c# resharper optimization ienumerable

3
推荐指数
1
解决办法
6562
查看次数

可以存储一个选择列的值并将其用于下一列吗?

是否可以存储或缓存属于一个选择列的一部分的值,然后用于下一个选择列?例如,

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)

是否可以做类似的事情,这样我就不必两次编写相同的复杂查询?

t-sql sql-server

2
推荐指数
1
解决办法
1770
查看次数

Blazor - 如何为超出该数据类型最大值的值自定义 InputNumber 验证消息?

例如,如果我有一个底层数据类型为 int 的 InputNumber,我想显示一条消息,指出不允许大于 int.MaxValue 的数字。目前,如果我要尝试任何大于整数最大值的数字,我会收到一条默认消息:“该字段必须是数字”。该消息显然不正确,我想更改它。有没有办法在 Blazor 中做到这一点?

blazor blazor-server-side blazor-client-side asp.net-blazor blazor-webassembly

1
推荐指数
1
解决办法
3069
查看次数