Dev Express验证消息未在.NET WebBrowser控件中显示

时间:2016-12-19 21:31:28

标签: c# internet-explorer webbrowser-control devexpress-mvc

我正在使用使用System.Windows.Controls.WebBrowser控件的旧版.NET应用程序。我对通过此WebBrowser控件公开的.NET MVC Web应用程序具有完整的源代码访问权限。当然,MVC Web应用程序也可以通过普通的Web浏览器(在我的例子中,IE 11)获得。

MVC应用程序使用DevExpress 15.1.5来处理它的许多UI组件,而且我在WebBrowser控件呈现的渲染/行为差异方面存在一些问题"版本"和IE 11"版本"申请。我想要解决的主要问题是,开发表达验证消息没有出现在WebBrowser渲染中,但它们确实出现在IE 11渲染中。这是一个例子:

 <td class="">
  @Html.DevExpress().SpinEditFor(x => x.SomeRange,
    settings => {
    settings.Name = "SomeRange";
    settings.Properties.MinValue = 0;
    settings.Properties.MaxValue = 100;
        settings.Properties.NullText = "Some Range";
    settings.Properties.NumberType = SpinEditNumberType.Integer;
 }).GetHtml()
</td>

当用户输入大于100的值时,在IE 11渲染中,会向他们显示一条验证消息:

  

该数字必须在0 ... 100

的范围内

但是,当用户在WebBrowser控件版本中执行此操作时,不会显示任何消息。

WebBrowser可以肯定地使用IE 11文档模式进行渲染。我通过registry settings mentioned here强制它来验证这一点,并检查WebBrowser和IE 11中的document.documentMode以验证它们是否相同(它们都是,都返回{{1} })。

11

值得注意的是,两者之间存在一些其他轻微的渲染差异,例如我注意到默认的no-css Legacy App (WebBrowser Control) appName: Netscape appVersion: 5.0 (Windows NT 6.2; WOW64; Trident/7.0; rv:11.0) like Gecko documentMode: 11 IE 11 appName: Netscape appVersion: 5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; rv:11.0) like Gecko documentMode: 11 元素的样式略有不同(WebBrowser <button>看起来它可能来自IE 7)。

我并不担心渲染差异(我只注意到默认的非样式控件的差异),但我确实需要显示验证消息。关于接下来要检查什么,或者如何解决这个问题的任何想法?

0 个答案:

没有答案