Die Verwendung Von Html.BeginForm zu veröffentlichen, um die aktuellen controller -
Habe ich eine teilweise, die verwendet wird, in mehreren Ansichten.
Die teilweise enthält Formen. Die Aktion, wenn Sie ein Formular vorlegen, ist immer das gleiche, aber der controller-das ist die Aktion enthält, hängt von der Sicht.
Können sagen, ich habe-Controller, die jeweils über eine Aktion ActOnChoosenPerson:
FireStaffController
HireStaffController
Habe ich eine teilweise
PersonList.ascx
Die Formen sind so dargestellt, als
Html.BeginForm("FireStaffController" ,
"ActOnChoosenPerson") oderHtml.BeginForm("HireStaffController" ,
"ActOnChoosenPerson")
Was ist ein guter Weg, um loszuwerden, der controller-parameter? Jetzt gebe ich den Namen des aktuellen Controllers in das Modell und verwenden Sie
Html.BeginForm(Modell.CurrentController ,
"ActOnChoosenPerson")
aber das ist ein wenig umständlich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser code wird immer geben Sie Ihre aktuellen controller
Offensichtlich können Sie es verwenden, ohne die <%= wie diese
Wirkt es eher klobig, aber dein Modell sollte nicht müssen wissen, welche controller ruft es.
ViewContext ist RouteData Eigenschaft enthält die Namen des aktuellen controller-und action. Man könnte Sie verwenden, wie diese:
Der einfachste Weg, dies zu tun wäre, rufen Sie einfach BeginForm() ohne Parameter.