Ich habe eine, in View - _Edit
der lebt News M/V/C
.
Ich verwende das V/M
via the CategoryController
as wieder:
return PartialView("/Views/News/_Edit.cshtml", model);
Wie View - _Edit
kann ich den Controller-Namen aus dem heraus benachrichtigen?
Wenn ich:
alert('@ViewContext. RouteData.Values["controller"].ToString()');
Der Wert lautet: News
Die URL lautet jedoch:/Category/foobar
Gibt es eine Möglichkeit, den Wert 'Category'
zu alarmieren? Vielen Dank
asp.net-mvc-3
Valamas
quelle
quelle
NewsController
?method
, die das lädtpartialview
und wascontroller
darinmethod
vorhanden ist.Antworten:
Ich habe dies in meine Teilansicht aufgenommen:
In der gleichen Situation, die Sie beschreiben, wird der in der URL beschriebene Controller (Kategorie für Sie, Produkt für mich) anstelle des tatsächlichen Speicherorts der Teilansicht angezeigt.
Verwenden Sie stattdessen diese Warnung:
quelle
@ViewContext.RouteData.Values["controller"]
HttpContext.Current
.Request
ist direkt verfügbar.["action"]
funktioniert, wenn Sie den Namen der Aktionsmethode möchten.Ich mache es so, aber vielleicht ist es nur ASP.NET MVC 4
quelle
Erstellen Sie eine Basisklasse für alle Controller und geben Sie hier das Namensattribut ein:
Im Hinblick auf
Controller-Beispiel
quelle
Name
Immobilie eingestellt wird.Andere Möglichkeit, den aktuellen Controller-Namen in View abzurufen
quelle
Benutz einfach:
Dadurch erhalten Sie den gesamten Namen des Controllers
quelle
Sie befinden sich immer noch im Kontext Ihres Ordners,
CategoryController
obwohl Sie einenPartialView
aus IhremViews/News
Ordner laden .quelle
Sie können einen der folgenden Codes verwenden, um den Controller-Namen abzurufen
Wenn Sie MVC 3 verwenden, können Sie verwenden
quelle