【问题标题】:I.E vs Chrome display differencesIE 与 Chrome 显示差异
【发布时间】:2015-04-28 07:24:59
【问题描述】:

只是想知道在从 ASP.NET mvc Web 应用程序渲染某些显示时是否有任何关于 Chrome 和 I.E 之间差异的信息。

例如

[DataType(DataType.Date, ErrorMessage = "Incorrect format or missing date")]
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
public DateTime? StartDate { get; set; }

在 IE 中,它只是一个纯白框,用于输入字符,而 chrome 显示 dd/mm/yyyy 并保持该格式。

与时间相同:

[DataType(DataType.Time, ErrorMessage = "Incorrect time")]             
//[RequiredIfTrue("MondayTrue", ErrorMessage ="Day has been marked as working")]
public DateTime? MondayStart { get; set; }

IE 中的纯白框与 chrome 一样 --:--

有没有办法让这些属性在 I.E 中工作?

即 html 行

<input name="StartDate" class="div-form-control text-box single-line" id="txtStartDate" type="date" value="" data-val-date="The field StartDate must be a date." data-val="true">

chrome html 行

<input class="div-form-control text-box single-line" data-val="true" data-val-date="The field StartDate must be a date." id="txtStartDate" name="StartDate" type="date" value="">

应该添加,我使用的是 IE 11,所以认为这会起作用。

在我的 MVC 布局页面中,

这些部分视图在 detailview div 中呈现:

<div class="containerBody">
    <div id="detailView"></div>       
</div>

查看

 <div style="display: table-row;">               
                <div class="div-label-text" , style="display: table-cell"> @Html.LabelFor(model => model.StartDate) </div>
                <div class="div-EditorFor" , style="display: table-cell"> @Html.EditorFor(model => model.StartDate, new { htmlAttributes = new { @class = "div-form-control", id = "txtStartDate" } }) </div>
                <div class="div-val-cell" , style="display: table-cell"> @Html.ValidationMessageFor(model => model.StartDate, "", new { @class = "text-danger" }) </div>
            </div>

【问题讨论】:

  • 这更像是一个 HTML 问题。也许编辑您的问题并放入生成的 HTML
  • 添加了日期框的 HTML 行

标签: asp.net google-chrome internet-explorer


【解决方案1】:

你如何渲染视图模型属性?如果你使用@Html.EditorFor,它会输出input type="date",这是不兼容html5的旧浏览器和IE不支持的。在这里查看caniuse 以查看跨浏览器的日期和时间输入字段兼容性。 我建议使用Jquery date picker

【讨论】:

  • @JQuery IE 版本均不支持日期和时间 html5 输入类型
【解决方案2】:

这取决于您使用的 IE 版本。较旧的 IE 版本不支持 type="date" 作为其 HTML 5 属性。 Chrome 对 HTML 5 的支持一直更好。查看http://blogs.artinsoft.net/Mrojas/archive/2013/01/30/The-inputtype=date-in-Internet-Explorer-%28IE%29-9-and-10.aspx

顺便说一句,这些 HTML 部分在两个浏览器中的编写方式相同,不同之处在于其呈现方式。

【讨论】:

  • 正如你问得这么好。没有。
  • 问什么这么好?抱歉,我并没有试图粗鲁,上次我添加了请,谢谢你,我有一群人编辑它们以将它们删除。确实给你加 1 的信息
  • 更多细节:您使用的 IE 版本不支持 HTML 5 但 chrome 支持,这就是为什么您会得到行为差异的原因。正如 Mahesh 建议的那样,使用 Jquery 日期选择器或类似的东西。
  • 谢谢,Chrome 可以很好地使用,这更像是一个普遍的问题,看看它为什么不同,它不仅仅是日期这不起作用。感谢您的信息!
  • 不同之处在于每个浏览器对 HTML 5 的支持程度和级别都不同。
猜你喜欢
  • 2013-03-08
  • 2012-01-12
  • 2020-09-14
  • 1970-01-01
  • 2015-12-27
  • 1970-01-01
  • 2015-04-21
  • 2015-02-03
  • 1970-01-01
相关资源
最近更新 更多