Kann den Parameternamen "action" nicht per URL in asp.net web api 2.0 senden.Wie man den Parameternamen "action" in asp.net übergibt web api
Beispiel:
wenn Sie dies tun:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{action}",
defaults: new
{
action=RouteParameter.Optional
}
);
Methode in der Steuerung:
public HttpResponseMessage Get(int action)
{
return ResponseXml();
}
eine Fehlermeldung gibt:
in the dictionary path name of the parameter "action" is contained in the URL-address more than once
Wie übergeben Sie den Parameternamen "action" als Parameter und nicht als Aktionsmethode?
dank
Wenn Sie Ihren Aktionsparam durch querystring (? Action = ..) möchten, dann müssen Sie nicht in der Routenkarte festlegen. In Ihrem aktuellen routeTemplate sollte Ihre URL wie/controllername/actionname/xyz sein, aber wenn das erforderlich ist, warum können Sie Ihre routeTemplate nicht anders als Aktion ändern? –
@Karthik MRI müssen Daten strikt nach dem Protokoll, welches Format zu erhalten: ** http: // Host: Port/Controller-Name? Aktion = 2 & Login = **, ersten Parameter sollte Parametername "Aktion" –