gpt4 book ai didi

c# - 如何在 MVC 3 中编辑 Html.DisplayFor 方法的 CSS?

转载 作者:可可西里 更新时间:2023-11-01 08:34:00 24 4
gpt4 key购买 nike

我正在使用以下代码在我的 View 中显示来 self 的 View 模型的文本:

@Html.DisplayFor(m => m.Name)

当我查看 IE9 中的 HTML 详细信息(我必须在工作中使用它)时,没有与名称关联的类,它仅使用 Body CSS 样式而不是显示字段类样式。有谁知道可能导致此问题的原因或我如何为创建的文本编辑 CSS?

最佳答案

如果它是一个标签,按照 Nataka526 的建议使用合适的助手

否则将它放在一个类的跨度中并为该类更新 css:

您的 html:

<span class="name">
@Html.DisplayFor(m => m.Name)
</span>

你的CSS:

.name {
//custom css
}

更新

另一种选择:更新您的显示模板以处理特定的 ViewData 键:

在 Views > Shared > DisplayTemplate 中(如果您还没有这个文件夹,请创建它):

添加文件String.cshtml:

@model string

@{
string myClass = ViewData["class"]
}

@if(string.IsNullOrEmpty(myClass))
{
@:@Model
}
else
{
<span class="@myClass">@Model</span>
}

除了字符串之外,您可能还需要为其他提示添加 DisplayTemplates。

在 View 中你会写这样的东西:

@Html.DisplayFor(m => m.Name, new { @class= "name" })

这将自动在其周围添加 span。

更新

解释:

Html.DisplayFor 有一个重载,它接受两个参数:expression 和 object additionalViewData。所以我传递的第二个参数是匿名对象 additionalViewData。我用名为 class

的属性创建了这个对象

然后,在 html 帮助程序内部,我检查是否有带有键 class 的 ViewData,如果有,我将输出放在具有该类值的 span 中。

**将变量名从 class 更新为 myClass,因为“class”不是合适的变量名。

关于c# - 如何在 MVC 3 中编辑 Html.DisplayFor 方法的 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11655810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com