title: How to override controller actionresult method in mvc3?
body: <p>There is one method called Index in HomeController. (It is just default template provided by Microsoft)   </p>
  
  <pre><code> public class HomeController : Controller
      {
  
          public ActionResult Index()
          {
              ViewBag.Message = "Welcome to ASP.NET MVC!";
              return View();
          }
  
          public ActionResult About()
          {
              return View();
          }
     }
  </code></pre>
  
  <p>Now What I want is that... override Index method. something like below.</p>
  
  <pre><code>public partial class HomeController : Controller
      {
  
          public virtual ActionResult Index()
          {
              ViewBag.Message = "Welcome to ASP.NET MVC!";
              return View();
          }
  
          public ActionResult About()
          {
              return View();
          }
  
          public override ActionResult Index()
          {
              ViewBag.Message = "Override Index";
              return View();
          }
  
      }
  </code></pre>
  
  <p>I don't want any modification in existing method like Open-Closed principle in OO design.
  Is it possible or not? or Is there another way ?</p>