- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用以下代码在我的 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/
我是一名优秀的程序员,十分优秀!