Mvc için bir Cms kullanıyorum. özelleştirme ihtiyaçları içinMvc'de bir Action yöntemini nasıl geçersiz kılarsınız?
public class OrderController : Controller
{
public ActionResult Index()
{
return View();
}
}
, bu kontrolörün davranışını geçersiz kılmak ve aynı URL kullanıcı tarafından ziyaret edildiğinde farklı bir şey iade etmek istiyorum: Bu Cms aşağıdaki Kontrolörü sahiptir. Bu sonuca ulaşmak için en iyi yaklaşım nedir? How to override controller actionresult method in mvc3?
public class OrderController : Cms.Areas.Admin.Controllers.OrderController
{
public override ActionResult Index(Guid orderItemId)
{
// Do extra stuff
return View();
}
}
Ama bu işe yaramazsa:
Bu cevap sonrasında Cms Kontrolörü devralan ve ActionResult geçersiz kılma yapmaya çalıştı. "Yönetici/sipariş" i değiştirmeye çalıştığımda hala Cms Controller/Action'a giriyorum.Herhangi bir öneriniz var mı?
NOT: Geçersiz kılmaya çalıştığım denetleyici başka bir derlemedir ve eylem sanal olarak ayarlanmıştır. Bir Bölgede, bu nedenle Rota Bölge Kayıtları içinde yapılandırılmıştır.
"Mvc için bir Cms kullanıyorum" - MVC kullanan çok sayıda CMS platformu var ve ayrıca evde yetiştirilebileceğinden bahsetmeyecek şekilde özelleştirilebilir. Kimse kullanmaya çalıştığınız ve kişiselleştirmeyi istediğinizi bilmeden buna cevap veremez. Lütfen kullandığınız platformu, bu platforma nasıl bağlamaya çalıştığınızı belirtin. – Igor
Aslında, Cms'yi kendim yapıyorum, bu yüzden kodu istediğim gibi değiştirebilirim. Denetleyicileri, geliştiricilerin – tocqueville
Tamam, sonraki soruyu geçersiz kılabileceğini kontrol etmek için düzgün bir yol arıyorum. Ama bu işe yaramıyor. '' bana gerçekten çalışmış gibi gözüküyor. Geçersiz kılma kodunuz yeni bir görünüm tanımlamaz, aynı Görünümü üretecek olan geçersiz kılma yöntemi ile aynı sonucu verir. Bunu sınamak için, geçersiz kılma kodunuzda bir kesme noktası ayarlayın VEYA bir dize parametresi 'Görünüm (" Diğer ") kullanarak farklı bir görünüm döndürün;' Ayrıca, üst üste bir 'sanal' olmadan 'geçersiz kıl' anahtar sözcüğünü kullanamazsınız. Son olarak, yönlendirmeyi göz önünde bulundurmak zorundasınız, rotayı nasıl tanımlıyorsunuz, böylece yeni denetleyicinize çarpıyorsunuz? – Igor