我不知道如何将DateTime
值从Html.BeginForm
传递给我的模型。
我不想使用日历。
我可以使用隐藏字段将其传递给模型吗?
public partial class gpAdmin
{
public long Id { get; set; }
public string name { get; set; }
public System.DateTime registerDate { get; set; }
}
并查看
@using (Html.BeginForm())
{
<div>
<div class="editor-label">
@Html.Label("Name")
@Html.TextBoxFor(a => a.name)
@Html.ValidationMessageFor(m => m.name)
</div>
......
}
并注册控制器
[HttpPost]
public ActionResult Index(gpAdmin admin)
{
if (ModelState.IsValid)
{
ds.gpAdmin.Add(admin);
ds.SaveChanges();
}
return view();
}
我应该为registerDate
字段DateTime
字段做些什么?
答案 0 :(得分:0)
您可以使用@Html.EditorFor(a=>a.registerDate).
您还可以考虑向字段添加属性
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public System.DateTime registerDate { get; set; }
如果您希望隐藏它,请使用@Html.HiddenFor(a=>a.registerDate)
但是如果你必须使用@Html.HiddenFor
我建议根本不使用它并在模型构造函数本身中初始化默认日期..使用以下代码
public partial class gpAdmin
{
public gpAdmin()
{
registerDate = DateTime.Now;
}
public long Id { get; set; }
public string name { get; set; }
public System.DateTime registerDate { get; set; }
}