- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我的应用程序中添加两个选项,它们是 disable
并且应该隐藏在 Create.cshtml
和 Edit.cshtml
中因此,当用户创建新帖子时,它应该显示创建表单的日期,而当用户编辑记录时,它应该显示编辑记录的日期。目前我在 Model
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime? DatumUnosta { get; set; }
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime? DatumPromjene { get; set; }
并添加了这部分
public ProduzenaGarancija()
{
DatumUnosta = DateTime.Now;
DatumPromjene = DateTime.Now;
}
在我的 Create.cshtml
<div class="form-group row">
<div class="col-3">
<label>Datum unosa</label>
</div>
<div class="col-5">
<input asp-for="Garancija.DatumUnosta" id="datum_unosa"
type="text" disabled class="form-control" />
</div>
</div>
和Edit.cshtml
<div class="form-group row">
<div class="col-3">
<label>Datum promjene</label>
</div>
<div class="col-5">
<input asp-for="Garancija.DatumPromjene" type="text"
disabled id="datum_promjene" class="form-control" />
</div>
</div>
Application.js 这两个标签的脚本:
$("#datum_unosa").datepicker({
//dateFormat: 'dd/mm/yy',
changeMonth: true,
changeYear: true
}).datepicker("setDate", new Date());
$("#datum_promjene").datepicker({
//dateFormat: 'dd/mm/yy',
changeMonth: true,
changeYear: true
}).datepicker("setDate", new Date());
每当我插入或更新记录时,两个日期都具有相同的datetime 字段
即使是几分钟,当我尝试更新记录时 Date of Create
和 Date of Update
具有相同的值。有谁知道这里出了什么问题,什么是最好的如何做到这一点?
最佳答案
您有模型,它是从数据库加载的(我假设,您还没有显示代码)。加载后,您只需显示值。这部分可能有效(因为我们显示了多个日期/时间)。
问题所在的部分是创建值的时间。如果您查看这段代码:
public ProduzenaGarancija()
{
DatumUnosta = DateTime.Now;
DatumPromjene = DateTime.Now;
}
在此构造函数中,您将两个时间都设置为 DateTime.Now
,然后保持时间不变。但是,当您更新对象 ProduzenaGarancija
时,您是否也更新属性 DatumPromjene
?
一种方法是在每次属性更新时调用方法,例如onUpdate()
,它将为您更新时间:
private string mName;
//Some of my property
public string Name
{
get { return this.mName }
set
{
this.mName = value;
this.onUpdate();
}
}
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime? DatumPromjene { get; set; }
public void onUpdate()
{
this.DatumPromjene = DateTime.Now;
}
或者,如果您不想修改您的模型(尤其是属性),您可以在编辑结束时调用它。但是你必须记住,在你所做的每一次改变中,你也必须改变时间:
public void EditButton_Clicked(/* Event handlers*/)
{
var myObject = this.myObject; // get the object from <somewhere>
myObject.Name = "abc"; /*set properties
.
.
.
*/
//at the end of edit, you should call either of these rows to change the time
myObject.onUpdate();
myObject.DatumPromjene = DateTime.Now;
}
关于c# - 显示 DateOfEdited 和 DateOfInserted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56112165/
我正在尝试在我的应用程序中添加两个选项,它们是 disable 并且应该隐藏在 Create.cshtml 和 Edit.cshtml 中因此,当用户创建新帖子时,它应该显示创建表单的日期,而当用户编
我是一名优秀的程序员,十分优秀!