Ich habe folgende MVC Aktion:MVC Optional Parameter Standardwert
[ActionName("order-brochure")]
public ActionResult OrderBrochure(int brochureId, bool isModal = true)
{
return View(HomeModelBuilder.BuildOrderBrochureModel(brochureId, isModal, false));
}
Wo isModal
ein optionaler Parameter
Gibt es eine andere Möglichkeit, die Standardeinstellung für diese andere zu setzen, ist als bool isModal = true
innerhalb der Methode unter Verwendung von Wie meine Firma verwendet Code-Analyse und dies schlägt fehl mit einer CA1026: Standard-Parameter sollten nicht verwendet werden
Allerdings kann ich nicht die Methode überschreiben, wie Sie nicht h ave zwei Aktionen mit dem gleichen Namen wie ein Fehler entlang der folgenden Zeilen erhalten werden:
The current request for action 'order-brochure' on controller type 'HomeController' is ambiguous between the following action methods:
System.Web.Mvc.ActionResult OrderBrochureModal(Int32, Boolean) on type MarshallsCoUkCommercial.Website.Controllers.HomeController
System.Web.Mvc.ActionResult OrderBrochure(Int32) on type MarshallsCoUkCommercial.Website.Controllers.HomeController
Und wenn ich
public ActionResult OrderBrochure(int brochureId, bool isModal)
Einstellung isModal
-UrlParameter.Optional
ich nicht testen können um zu sehen, ob isModal
null ist, da es immer auf false gesetzt wird
Was ist 'öffentliche ActionResult OrderBrochure (int brochureId, bool? IsModal)'? Jetzt können Sie es testen, um zu sehen, ob es "null" ist. –
Seltsam Ich versuchte es als NULL Bool zuvor und es stürzte einfach, versuchte es noch einmal und es funktioniert jetzt – Pete