2011-09-25 14 views
14

MVC3'te Görünüm'ü döndürme Eyleminin adını almanın doğru yolu nedir?Denetleyicinin İşlem adını Görüntüle Görünüm

MVC3'te Görünüm'ü oluşturan Eylemin adını (Yöntem) döndürmek için kullanıyorum. Bunu, Eylem tarafından döndürülen Görünüm'e dahil olan Kısmi Görünümde iade ediyorum.

Dizin için iyi çalışıyor, ancak başka bir yöntem adı için kullanmaya çalıştığımda, her zaman yanlış olarak değerlendirir. Hemen penceresinde

aşağıdaki sonuçlar elde:

"Düzen" döner bir dizeye bu karşılaştırarak ise ilk ifadesinde, değer "Edit" ile bir dizeye değerlendirir, çünkü son derece kafa karıştırıcı
ViewContext.Controller.ValueProvider.GetValue("action").RawValue 
"Edit" 

ViewContext.Controller.ValueProvider.GetValue("action").RawValue == "Edit" 
false 

yanlış? Tuhaf

...

cevap

45

RawValue referans ile bu yerine değeri comparse çok RawValue == "..." aramalar Object.op_Equality, bir object olup.

Çağrı ViewContext.RouteData.GetRequiredString("action")

+0

sayesinde, ancak bu bir amacı, bir referans statik olmayan alan, yöntem veya özellik 'System.Web.Routing.RequestContext için gereklidir 'RequestContext.RouteData.GetRequiredString ("eylem") döndürür. RouteData.get ' ' – Darbio

+0

' ViewContext' anlamına gelir. – SLaks

+0

Teşekkürler - bu işe yarıyor. – Darbio

İlgili konular