0

私のモデルでは、NullDisplayFormatを定義しました

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

Google ChromeとFireFoxでは、グリッドと入力コントロールに何も表示されません。ただし、IE9ではNULLが表示されます。IE 9のバグですか?それを修正する最も簡単な方法は何ですか?

また、jQueryでこの方法でnullを何にも変更しようとしました:

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

ただし、Contact1はすでに文字列property = 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は、これを1つのコントロールで表示/編集する場合にのみ機能し、セットとして返す場合には機能しません。興味深いことに、Google ChromeとFireFoxは、空の文字列としてNULLを表示します。

于 2012-11-05T17:36:00.233 に答える