【问题标题】:MVC Datalist is not working on prod server but works on DevMVC Datalist 不适用于 prod 服务器,但适用于 Dev
【发布时间】:2017-01-11 16:46:46
【问题描述】:

我有一个应用程序使用在开发环境中工作的数据列表,但在生产环境中返回没有查找的空白字段。我想广泛使用 datalist,因为它很容易提供自动完成功能,但直到它在生产环境中才能使用。

Dev 是 Win7 下 IE 11.0 上的 MVC VS 2010,在 HTML5Test 中得分 302。 生产环境为 Server 2012 R2 Standard 上的 IE 11.0,报告为 Win8.1,在 HTML5Test 中得分 312。

经过多次比较、检查、尝试、检查和审查,我找到了导致 datalist 停止工作的问题的根源。

Index.cshtml 中的 MVC 查看代码 这是试图隔离问题的最终实验代码:

@model IEnumerable<CRM_MVC.Models.BranchDiary>
@{
    Layout = null;
}
<body>
<div>
    <lable>Enter TV Series Name </label>
    <input type="text" id="tv" name="series" list="tvseries" autofocus>
    <datalist id="tvseries">
        <option value="Heroes">
        <option value="Lost">
        <option value="Fringe">
        <option value="CriminalMinds">
        <option value="CSIMiami">
    </datalist>

    <p><strong>Note:</strong> The datalist tag is not supported in Internet Explorer 9 and earlier versions, or in Safari.</p>
</div>
</body>

显示 Index.cshtml 的 Internet Explorer 会话

该字段应提供自动完成下拉菜单,但不提供。

Inspect 屏幕显示 &lt;datalist id=tv&gt; 在同一行被 /datalist 错误地终止,并且在选项列表 /datalist 之后错误地出现了 //datalist。

当为 Div 选择右键单击编辑 HTML 时,原始 HTML 正确地具有第一个没有 /datalist 的 datalist 标记,并且选项列表在末尾被 /datalist 标记正确终止。

可以做些什么来阻止添加额外的东西,以便它在生产和开发中的工作方式相同?

【问题讨论】:

  • 看起来浏览器,在这种情况下,IE5(从技术上讲,IE 以 IE5 模式运行)正在尝试“纠正”它在源代码中发现的“错误”。在同一个屏幕截图中,还有一个&lt;lable&gt;&lt;/lable&gt; 和下面几行&lt;/label&gt;&lt;//label&gt;,这是由实际错误引起的!所以,你需要做的是尝试在 IE10 或更高的模式下运行它。
  • 并通过 W3C 验证器运行您的 HTML 以修复提到的 &lt;lable&gt; 之类的问题。
  • 感谢您深思熟虑的回复。我很感激您为此付出的时间和想法。我会尝试你的建议。在过去的 3 天里,我花了很多时间来解决这个问题,但没有成功。直到周六下午,我才发现它自己在“调整”html。使用 W3C 验证器是个好主意,我将通过它运行实际代码以及这个测试 sn-p。再次感谢您的评论。
  • 也许就像在生产服务器上关闭兼容模式一样简单。

标签: asp.net-mvc html autocomplete html-datalist


【解决方案1】:

解决此问题的方法是取消选中 IE 工具 -> 兼容性视图设置中的 在兼容性视图中显示 Intranet 站点。 感谢李斯特先生的建议。

我需要检查全局更改此设置是否会影响其他任何内容,但它现在可以按预期和要求进行自动完成。再次感谢李斯特先生的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-03
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    相关资源
    最近更新 更多