回答
很簡單。 將界面編輯您想要的管理編輯,並與[授權]保護它的屬性
//for the users
[Authorize]
public ActionResult NormalUsers(int newsItemId)
{
//Getting content from DB.
NewsItem news = new NewsItem(newsItemId);
return View("ShowNews", news);
}
//for editors
[Authorize(Roles = "Admin, Super User")]
[HttpGet]
public ActionResult AdministratorsOnly(int newsItemId)
{
//Getting content from DB
NewsItem news = new NewsItem(newsItemId);
return View("EditNews", news);
}
[Authorize(Roles = "Admin, Super User")]
[HttpPost]
public ActionResult AdministratorsOnly(NewsItem newsItem)
{
//Putting content in DB
newsRepository.StoreNewsItemInDB(newsItem);
NewsItem news = new NewsItem(newsItem.Id);//getting the newsItem from DB, to allow for server side processing.
return View("EditNews", news);
}
Link to MSDN for the language details.
它可以工作方式的內容是,你有兩個(實際上有三個)的意見爲新聞。 第一個視圖用於爲普通用戶呈現NewsItem對象。
第二個視圖用於獲取NewsItem對象進行編輯。 第三個視圖用於顯示編輯後的NewsItem對象,以確保編輯的最終結果。
用戶總是會看到上次編輯的NewsItem(與3相同)。
是的,這是正確的,但我怎樣才能指定管理員正在編輯該頁面,這將顯示給用戶? – 2011-04-16 13:02:13
這是兩個不同的頁面,其中一個是隻讀的用戶,另一個編輯相同的內容(數據庫,客戶關係管理,XML或任何你喜歡保存內容)。 您的用戶將永遠不會進入管理員視圖,因此無法編輯。 另一個優點是你可以以不同的方式對它們進行設計。漂亮的用戶和商務 - 就像管理員(他們喜歡這個:-))。 – Guidhouse 2011-04-16 18:19:35
但是如果將來我需要一些其他內容纔是動態的呢?有沒有辦法直接編輯管理員的用戶視圖? – 2011-04-16 19:33:01
- 1. asp.net:動態擴展內容
- 2. 動態內容ASP.net C#
- 3. Asp.net,jQuery和動態內容
- 4. 動態創建ASP.NET內容頁面
- 5. ASP.NET MVC&JQuery動態表單內容
- 6. ASP.NET網頁 - 半動態內容緩存
- 7. ASP.Net中動態內容的選項
- 8. 動態內容
- 9. 動態內容
- 10. 如何使用ASP.Net動態創建動態內容Flash對象
- 11. ASP.NET MVC:靜態內容
- 12. jQuery動態內容
- 13. Preg_replace動態內容?
- 14. Rmarkdown動態內容
- 15. 動態JavaScript內容
- 16. WebUserControl動態內容?
- 17. 動態內容mousehover
- 18. 動態html內容
- 19. 動態內容/ CMS
- 20. 動態內容android
- 21. 動態PHP內容
- 22. 動態Ajax內容
- 23. jquery內容動態
- 24. Bootstrap模態動態內容
- 25. 輪動內容動態
- 26. 動態內容綁定ContentControl內容
- 27. 替換動態內容中的動態內容
- 28. JQuery加載動態內容關閉動態內容
- 29. 動態驅動內容的ASP.NET MVC呈現部分(小部件)
- 30. 帶動態內容的動態頁面
管理員需要在網站的前端執行此操作嗎?或通過內容管理系統? – Rob 2011-04-16 11:40:15
它是前端編輯。 – 2011-04-17 05:09:31