我要實現這樣的:如何讓內容編輯,有限的時間在asp.net MVC 3
的用戶將能夠張貼評論後編輯評論,直到10分鐘。將會有一個編輯鏈接與服務器的評論相關的時間少於10分鐘的發佈評論。但是,如果超過10分鐘,評論將無法保存。
我該如何在asp.net mvc 3中實現這一點?
我要實現這樣的:如何讓內容編輯,有限的時間在asp.net MVC 3
的用戶將能夠張貼評論後編輯評論,直到10分鐘。將會有一個編輯鏈接與服務器的評論相關的時間少於10分鐘的發佈評論。但是,如果超過10分鐘,評論將無法保存。
我該如何在asp.net mvc 3中實現這一點?
沒錯,@Palantir是正確的。
只想擴展一點關於如何解決表示層。
保存評論時,請將CreatedOn
字段設置爲DateTime.Now
。
有這樣的視圖模型:
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); } }
}
在你的主視圖,使用編輯模板呈現出鏈接:
@Html.EditorFor(model => model.CommentViewModel)
然後模板:
@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)
}
這樣你的主視圖保持乾淨和乾爽 - 因爲你可以重新在整個應用程序中使用此模板。
您與評論一起保存時間戳和生成編輯鏈接之前,並允許保存前檢查它...也許我不明白你的問題:)
ok ............................ – rp8 2011-07-06 10:26:29