Asp.net mvc 如何在asp.net mvc 3中允许在有限的时间内编辑内容
我必须这样实施: 用户可以在发布评论后10分钟内编辑评论。将有一个与服务器评论相关联的编辑链接。发布评论的时间少于10分钟。但是,如果超过10分钟,评论可能无法保存Asp.net mvc 如何在asp.net mvc 3中允许在有限的时间内编辑内容,asp.net-mvc,Asp.net Mvc,我必须这样实施: 用户可以在发布评论后10分钟内编辑评论。将有一个与服务器评论相关联的编辑链接。发布评论的时间少于10分钟。但是,如果超过10分钟,评论可能无法保存 如何在asp.net mvc 3中实现这一点?您可以将时间戳与注释一起保存,并在生成编辑链接和允许保存之前进行检查。。。或者我不明白你的问题:)是的,@Palantir是正确的 我只是想对如何处理表示层进行一些扩展 保存注释时,将CreatedOn字段设置为DateTime.Now 具有如下所示的ViewModel: public
如何在asp.net mvc 3中实现这一点?您可以将时间戳与注释一起保存,并在生成编辑链接和允许保存之前进行检查。。。或者我不明白你的问题:)是的,@Palantir是正确的 我只是想对如何处理表示层进行一些扩展 保存注释时,将
CreatedOn
字段设置为DateTime.Now
具有如下所示的ViewModel:
public class CommentViewModel
{
[HiddenInput] public int CommentId { get; set; }
public string Text { get; set; }
public DateTime CreatedOn { get; set; }
public bool CanEdit { get { return DateTime.Now <= CreatedOn.AddMinutes(10); } }
}
然后,模板:
@model YourApp.Models.CommentViewModel
@if (Model.CanEdit) {
@Html.EditorFor(model => model.Text)
@Html.ActionLink("Save", "CommentController", new { id = @Model.CommentId })
} else {
@Html.DisplayFor(model => model.Text)
}
这样,您的主视图将保持干净和干燥,因为您可以在整个应用程序中重用此模板
@model YourApp.Models.CommentViewModel
@if (Model.CanEdit) {
@Html.EditorFor(model => model.Text)
@Html.ActionLink("Save", "CommentController", new { id = @Model.CommentId })
} else {
@Html.DisplayFor(model => model.Text)
}