在HomeController中有一種稱爲索引的方法。 (這只是微軟提供的默認模板)如何覆蓋mvc3中的controller actionresult方法?
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
public ActionResult About()
{
return View();
}
}
現在我想要的是... override指數方法。像下面的東西。
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();
}
}
我不想在OO設計中使用Open-Closed原理等現有方法進行修改。 可能嗎?還是有另一種方式?
你不能這樣做,你正在試圖覆蓋它所聲明的同一個類中的方法。你只能覆蓋子類中的方法。如果您想在同一個類中「覆蓋」該方法,只需將舊方法體替換爲新方法體即可。 – verdesmarald
如果你能做到這一點,訪問/ home/index時顯示結果是什麼? –
@verdesmarald:讓我們假設我已經創建了子類。那麼如何存檔? –