razor - 检查字符串是否是 Razor 中的数字
问题描述
在应用程序中有一个网格,其中有一列包含以下代码:
columns.Add(m => m.Ticket.Truck)
.Encoded(false)
.Sanitized(false)
.RenderValueAs(m =>
@<div>
@if (m.Ticket.Truck.ToLower() == "rusty")
{
<span style="color:red; font-size:14px; font-weight:bold;">@m.Ticket.Truck</span>
}
else
{
<span>@m.Ticket.Truck</span>
}
</div>).Titled("Truck");
在数据集中,大多数卡车都有一个数字作为其标识符,尽管有些卡车有名字(例如 Rusty)。我不想在所有卡车名称中硬编码,而是想修改代码,以便检查@m.Ticket.Truck
它是否是数字,然后仅在不是数字时应用标签样式。但是,我不知道在 Razor 中执行此操作的正确语法。
我发现的帖子只显示了如何在服务器端处理这个问题。任何有关如何在 Razor 中执行此操作的指导将不胜感激。
解决方案
感谢这篇文章,我想通了。还重构了代码。
columns.Add(m => m.Ticket.Truck)
.Encoded(false)
.Sanitized(false)
.RenderValueAs(m =>
@<div>
@{
string style = "";
int value;
if (!int.TryParse(m.Ticket.Truck, out value))
{
// Truck is not an integer so set CSS
style = "style=color:red;font-size:14px;font-weight:bold;";
}
}
<span @style>@m.Ticket.Truck</span>
</div>).Titled("Truck");
请注意,样式字符串中的分号后故意没有空格。当存在空格时,Razor 无法在 HTML 中正确处理它。
推荐阅读
- mysql - 如何在日期字段中使用案例
- ios - iOS应用全屏问题
- javascript - firesore 上的 on.(child_added) 等价物是什么?
- swift - 当视图在 UIKit (swift 4) 中保持动画时,我如何与视图交互?
- javascript - Reducer 更新了错误的值(数组更新了一个项目,里面的项目很少,而不是分散它们)
- wpf - 任务状态区域中的多个 NotifyIcon 图像
- xcode - pod安装firebase后xcode中的错误
- angular - ASP.NET Core 2.1 Angular 6.0 SPA 模板 - 用于索引而不是静态页面的剃须刀页面 (cshtml)
- docusignapi - Docusign 开发人员 webhook 不允许 http
- reactjs - 处理所有反应组件的 componentDidCatch