0

在我的模型中,我定义了 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 更改为空:

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

但是,它不起作用,因为 Contact1 已经是一个字符串属性 = null。你知道我该如何解决吗?

提前致谢。

4

1 回答 1

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 仅适用于在单个控件中查看/编辑它,而不是当我们将它作为一个集合返回时。有趣的是,Google Chrome 和 FireFox 将 NULL 显示为空字符串。

于 2012-11-05T17:36:00.233 回答