假设您有一个类似Stackoverflow问题页面的页面,用户可以向上或向下投票,插入新输入,编辑消息,删除评论等等。鉴于页面应该同时使用w /和javascript,你将如何在asp.net mvc网站上组织控制器页面?
答案 0 :(得分:3)
所有操作都是帖子,他们会重定向回调用它们的操作。
public ActionResult Index(int pageID){
return View();//the question page
}
[HttpPost]
public ActionResult Upvote(int pageID, int messageID){
//update message votes
return RedirectToAction("Index", new { @pageID = pageID } );
}
[HttpPost]
public ActionResult Downvote(int pageID, int messageID){
//update message votes
return RedirectToAction("Index", new { @pageID = pageID } );
}
[HttpPost]
public ActionResult PostComment(int pageID, int parentMessageID){
//add comment to parent message
return RedirectToAction("Index", new { @pageID = pageID } );
}
我页面中的所有按钮都是调用这些帖子操作的动作链接。然后我会添加javascript来截取按钮点击并通过AJAX处理(所以页面不需要重新加载)这样,没有javascript按钮仍然可以工作,只是导致页面重新加载