回答
很简单。 将界面编辑您想要的管理编辑,并与[授权]保护它的属性
//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