我正在开发ASP.NET(MVC3 HTML5)网站。我需要以某种方式允许管理员编辑新闻,主页文本,促销等内容。我可以使用现有的API实现这一点吗?
谢谢。
答案 0 :(得分:1)
很简单。 创建一个界面,用于编辑您希望管理员编辑的内容,并使用[授权]属性
保护它 //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相同)。