我在ASP.Net中使用Scaffolding,我有一个名为" Page"其属性如下
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);
}
现在,问题是,我不希望在更新方法中更改代码值,我没有将其包含在编辑表单中。但它仍然在更新“空白”#39;我更新的价值。
我为Page class尝试了[Bind(Exclude = "Code")]
,但没有用。
答案 0 :(得分:1)
您需要在编辑视图中为code
隐藏字段。使用@Html.HiddenFor(model => model.Code)
。