IE 9显示为null

时间:2012-10-16 17:38:24

标签: asp.net asp.net-mvc

在我的模型中,我定义了NullDisplayFormat

[StringLength(100)]
[DisplayName("First Contact")]
[DisplayFormat(NullDisplayText = "")]
[Column("Contact1",TypeName =  "varchar")]
public virtual string Contact1 { get; set; }

在Google Chrome和FireFox中,我在视图中看不到网格和输入控件。但是,在IE 9中,我看到了NULL。这是IE 9中的错误吗?修复它的最简单方法是什么?

我还尝试在jQuery中将null改为no:

var Contact1 = $('.trSelected td:eq(3)').text();
$('#Contact1').val(Contact1||'Nothing');

但是,由于Contact1已经是字符串property = null,因此无效。你知道我怎么解决它?

提前致谢。

1 个答案:

答案 0 :(得分:0)

问题在于使用JSON在网格中显示。所以,我修改了我返回的代码,例如

 var flexgrid = new
            {
                page = page,
                total = Total,
                rows = clients
                .Select(x => new
                {
                    id = x.Id,

                    cell = new { Id = x.Id, Number = x.Number, Name = x.Name, Contact1 = x.Contact1.Contact ?? String.Empty }
                }
                )
            };

            return Json(flexgrid, JsonRequestBehavior.AllowGet);

也许DisplayFormat仅适用于在单个控件中查看/编辑它,而不是当我们将它作为一组返回时。有趣的是,谷歌Chrome和FireFox显示NULL为空字符串。