2011-06-09 31 views
0

我要實現這樣的:如何讓內容編輯,有限的時間在asp.net MVC 3

的用戶將能夠張貼評論後編輯評論,直到10分鐘。將會有一個編輯鏈接與服務器的評論相關的時間少於10分鐘的發佈評論。但是,如果超過10分鐘,評論將無法保存。

我該如何在asp.net mvc 3中實現這一點?

回答

1

沒錯,@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) 
} 

這樣你的主視圖保持乾淨和乾爽 - 因爲你可以重新在整個應用程序中使用此模板。

1

您與評論一起保存時間戳和生成編輯鏈接之前,並允許保存前檢查它...也許我不明白你的問題:)

+0

ok ............................ – rp8 2011-07-06 10:26:29

相關問題