【问题标题】:c# asp.net mvc how to organize postsc# asp.net mvc如何组织帖子
【发布时间】:2011-07-14 14:00:33
【问题描述】:

假设您有一个类似于 Stackoverflow 的问题页面的页面,用户可以在其中投票赞成或反对、插入新输入、编辑消息、删除 cmets 或其他任何内容。鉴于页面应该可以使用和不使用 javascript,您将如何在 asp.net mvc 网站中组织控制器页面?

【问题讨论】:

  • 什么意思?为什么 JS 不重要?
  • 您是否尝试过在禁用 JavaScript 的情况下浏览 StackOverflow?许多功能(如投票)实际上并不起作用。
  • 好吧,只是因为 StackOverflow 在没有 js 的情况下无法工作,但这并不意味着我必须这样做 :)

标签: c# model-view-controller controller organization


【解决方案1】:

所有动作都是帖子,它们会重定向回调用它们的动作。

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,按钮仍然可以工作,只是导致页面重新加载

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    相关资源
    最近更新 更多