0

私はASP.Netで足場を使用しています。次のような属性を持つ「ページ」というモデルがあります

public class Page
{
    private DateTime _Created_at = DateTime.Now;
    private bool _IsActive = true;

    public int ID { get; set; }

    public string Code { get; set; }

    [Required]
    [DisplayName("Parent Code")]
    public string ParentCode { get; set; }

    [Required]
    public string Title { get; set; }

    ************
} 

ここで、メソッドの作成中に、コード属性を次のように更新しています

        public ActionResult Create(Page page)
        {
            if (ModelState.IsValid)
            {
                page.Code = page.Url.Replace(" ", string.Empty);
                page.IsActive = true;
                db.Pages.Add(page);

                db.SaveChanges();

                return RedirectToAction("Details", new { id = page.ID });
            }

            return View(page);
        }

さて、問題は、更新メソッド中にこのコード値を変更したくないことです。編集フォームに含まれていません。しかし、更新すると「NULL」値が更新されます。

私は Page クラスを試し[Bind(Exclude = "Code")]ましたが、役に立ちませんでした。

4

1 に答える 1

1

code編集ビューには隠しフィールドが必要です。を使用し@Html.HiddenFor(model => model.Code)ます。

于 2012-08-12T18:00:03.773 に答える