1

MVC4アプリケーションに問題があります。次のようなコードのモデルがあります。

public class MyModel
{
    [Required]
    [Display(Name = "Code")]
    public string Code { get; set; }

    [Display(Name = "Type")]
    [DisplayFormat(NullDisplayText = "")] 
    public string Type { get; set; }
}

モデルのCodeフィールドはデータベースからのnull許容型を表し、Typeフィールドはnull値を受け入れます。コントローラを使用してモデルからビューにアイテムを読み込もうとすると、問題が発生します。次のコントローラーコードを参照してください。

public ActionResult Display(string Code)
{
    MyManager manage= new MyManager();

    Model model= new Model();
    model = manage.GetItem(Code);

    MyModel obj = new MyModel();
    obj.Code = model.Code.Trim();
    obj.Type = model.Type.Trim();

    return View(obj);
 }

基本的に、GetItemsメソッドは、CodeModel型のデータ(データベース内のテーブルの名前)を受け入れて返すマネージャーから取得されます。

問題はこの行で指摘されobj.Type = model.Type.Trim();ています。データベースからのnull値が発生するたびに。

誰かがこの問題を処理する方法についての効果的な方法を教えてもらえますか?

4

2 に答える 2

2

ViewModel オブジェクトにコピーする前に、データベースの戻り値を確認してみてください。

obj.Type = provider.Type != null ? provider.Type.Trim() : string.Empty;
于 2012-07-02T06:52:03.107 に答える
0

使用する

public string? Type { get; set; }
于 2012-07-02T06:40:11.400 に答える