Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
@用IE8在MVC4中创建Html.Raw_Html_Css_Asp.net Mvc_Razor - Fatal编程技术网

@用IE8在MVC4中创建Html.Raw

@用IE8在MVC4中创建Html.Raw,html,css,asp.net-mvc,razor,Html,Css,Asp.net Mvc,Razor,我正在开发一个在IE8上运行的应用程序,其中一个是page use@Html.raw来呈现,当模型出现一些错误时会出现异常 下面是代码的片段: @Html.LabelFor(model => model.Fonds) @Html.EditorOrDisplayFor(model => model.Fonds) @Html.Raw(!Model.IsFondsValid ? "<span class=\"field-validation-error\"> </span

我正在开发一个在IE8上运行的应用程序,其中一个是page use@Html.raw来呈现,当模型出现一些错误时会出现异常

下面是代码的片段:

@Html.LabelFor(model => model.Fonds)
@Html.EditorOrDisplayFor(model => model.Fonds)
@Html.Raw(!Model.IsFondsValid ? "<span class=\"field-validation-error\"> </span>" : "")
如果属性Fonds出现问题,span将显示其图标,并且只要我想进行任何修改以更正此错误,IE8就会显示一个消息框,要求我以兼容模式重新加载页面

你知道为什么会有这种行为吗

多谢各位


注意:如果我更改CSS文件并将显示样式设置为“display:block”,IE将不再要求我以兼容模式重新加载页面。奇怪的行为,我不明白。

您的CSS可能与问题无关

尝试将代码更改为:

@Html.LabelFor(model => model.Fonds)
@Html.EditorOrDisplayFor(model => model.Fonds)
@(!Model.IsFondsValid
    ? Html.Raw("<span class=\"field-validation-error\"> </span>") 
    : Html.Raw(""))
@Html.LabelFor(model=>model.Fonds)
@Html.EditorOrDisplayFor(model=>model.Fonds)
@(!Model.IsFondsValid)
?Html.Raw(“”)
:Html.Raw(“”)

谢谢您的回答。显然,IE8不太喜欢内联块,这就是我的问题的原因。
来自@John H分享的链接的@John Anastasio的提示解决了我在IE8上的问题,现在它工作得很好。
在显示内联块之后,我在css中使用float

span.field-validation-error
{
    background-image: url('Images/error.png');
    background-repeat: no-repeat;
    color: transparent;
    background-size: 16px 16px;
    height: 20px;
    line-height: 20px;
    font-size: 20px;
    content: " ";
    width:20px;
    overflow:hidden;
    display:inline-block;
    float : right;
    vertical-align: middle;
}

再次感谢。

作为旁注:我只将代码放在单独的行中进行格式化。它不会影响您的输出。谢谢您的回答,但不幸的是,我仍然遇到了同样的问题。问题是,如果我删除span中的类,问题就会消失。您不能使用@Html.ValidationMessageFor(m=>m.Fonds)吗?我可以,但我正在尝试以实现它的方式工作。我已经alerady实现了一个变通方法。谢谢你的解决方案。我应该帮助你。首先尝试一下答案,但我认为第二个答案下面Boltclock的评论可能就是你想要的。很高兴它起到了作用。如果可以,您应该将此标记为正确答案。您可以通过单击投票计数器下方答案左侧的复选标记来完成此操作。
span.field-validation-error
{
    background-image: url('Images/error.png');
    background-repeat: no-repeat;
    color: transparent;
    background-size: 16px 16px;
    height: 20px;
    line-height: 20px;
    font-size: 20px;
    content: " ";
    width:20px;
    overflow:hidden;
    display:inline-block;
    float : right;
    vertical-align: middle;
}