如何更改绑定到 Razor 页面上模型的特定文本的字体颜色?
How do I change the font color of a specific text bound to a model on a Razor page?
我正在构建一个 ASP.NET 核心 Web 应用程序,并希望将结果中的某些文本设置为 table 与其余 table 不同的颜色。例如:
我正在尝试在 JavaScript 中执行此操作,但似乎 运行 遇到了问题,因为在使用所选参数单击“搜索”按钮后,数据是从模型在页面上生成的。这是我的 HTML Razor 页面中的内容:
@foreach (var item in Model.SecurityLog)
{
<tr>
<td style="width:7% !important" id="eventType">
@Html.DisplayFor(modelItem => item.EventType.Name)
</td>
<td style="width:9% !important">
@Html.DisplayFor(modelItem => item.ContactName)
</td>
}
这是 Razor 页面上的 JavaScript 代码:
var text = document.getElementById("searchString");
var str = text.innerHTML;
var reg = /RL Solution Required/ig;
var toStr = String(reg);
var search = (toStr.replace('\/g', '|')).substring(1);
var searches = search.split("|");
if (searches.indexOf("RL Solution Required") > -1) {
str = str.replace(/RL Solution Required/g, '<span style="color:red;">R/L Solution Required</span>');
}
document.getElementById("searchString").innerHTML = str;
我正在尝试将 RL Solution Required 字体设置为红色。我没有遇到此代码的任何错误,但字体是黑色的。
提前致谢,如有任何帮助,我们将不胜感激。
您遇到的问题可能有多种原因。
例如:我看到您在某些 css 中使用了 !important。如果您有另一个颜色 属性 也设置为 !important 的 span 标签,它将覆盖您插入到 html.
中的颜色
最好的办法是在浏览器的开发工具中检查元素并尝试修改 css 以正确更新那里的颜色。如果您可以让它在那里更新并描述您所做的更改,将更容易缩小您在这里遇到的具体问题的范围。
如果您能够使用 css 正确修改元素并且需要在生成的代码中更改某些内容,您也许可以从那里着手解决。
您不需要为此使用 Javascript。只需使用 Razor。
@foreach (var item in Model.SecurityLog)
{
<tr>
<td style="width:7% !important">
@{
string eventType = item.EventType.Name;
}
@if(eventType.Contains("RL Solution Required"){
<span style="color:red;">@Html.DisplayFor(modelItem => eventType)</span>
}else{
@Html.DisplayFor(modelItem => eventType)
}
</td>
<td style="width:9% !important">
@Html.DisplayFor(modelItem => item.ContactName)
</td>
}
我正在构建一个 ASP.NET 核心 Web 应用程序,并希望将结果中的某些文本设置为 table 与其余 table 不同的颜色。例如:
我正在尝试在 JavaScript 中执行此操作,但似乎 运行 遇到了问题,因为在使用所选参数单击“搜索”按钮后,数据是从模型在页面上生成的。这是我的 HTML Razor 页面中的内容:
@foreach (var item in Model.SecurityLog)
{
<tr>
<td style="width:7% !important" id="eventType">
@Html.DisplayFor(modelItem => item.EventType.Name)
</td>
<td style="width:9% !important">
@Html.DisplayFor(modelItem => item.ContactName)
</td>
}
这是 Razor 页面上的 JavaScript 代码:
var text = document.getElementById("searchString");
var str = text.innerHTML;
var reg = /RL Solution Required/ig;
var toStr = String(reg);
var search = (toStr.replace('\/g', '|')).substring(1);
var searches = search.split("|");
if (searches.indexOf("RL Solution Required") > -1) {
str = str.replace(/RL Solution Required/g, '<span style="color:red;">R/L Solution Required</span>');
}
document.getElementById("searchString").innerHTML = str;
我正在尝试将 RL Solution Required 字体设置为红色。我没有遇到此代码的任何错误,但字体是黑色的。 提前致谢,如有任何帮助,我们将不胜感激。
您遇到的问题可能有多种原因。
例如:我看到您在某些 css 中使用了 !important。如果您有另一个颜色 属性 也设置为 !important 的 span 标签,它将覆盖您插入到 html.
中的颜色最好的办法是在浏览器的开发工具中检查元素并尝试修改 css 以正确更新那里的颜色。如果您可以让它在那里更新并描述您所做的更改,将更容易缩小您在这里遇到的具体问题的范围。
如果您能够使用 css 正确修改元素并且需要在生成的代码中更改某些内容,您也许可以从那里着手解决。
您不需要为此使用 Javascript。只需使用 Razor。
@foreach (var item in Model.SecurityLog)
{
<tr>
<td style="width:7% !important">
@{
string eventType = item.EventType.Name;
}
@if(eventType.Contains("RL Solution Required"){
<span style="color:red;">@Html.DisplayFor(modelItem => eventType)</span>
}else{
@Html.DisplayFor(modelItem => eventType)
}
</td>
<td style="width:9% !important">
@Html.DisplayFor(modelItem => item.ContactName)
</td>
}