Ich laufe immer wieder in Szenarien, in denen ich einen etwas intuitiveren oder "wohlgeformten" Parameternamen für Aktionsmethoden bereitstellen möchte, aber mit dem Standardverhalten erweist sich das als ziemlich schmerzhaft. Angenommen, ich habe einen Aktionsparameter wie GetWidget (int id). Wenn ich möchte, dass GetWidget (int widgetId) ist, muss ich eine neue Route hinzufügen. Es wird schlimmer, wenn Sie eine Bibliothek wie jqGrid verwenden, die für ihre Querystring-Parameter schreckliche Namen verwendet: GetWidgets (int? Nodeid, int? N_level). Stattdessen hätte ich gern GetWidgets (int? ParentId, int? Level) oder etwas ähnliches.Möglichkeiten, einen Parameter in ASP.NET MVC an einen anderen Namen zu binden?
Also, gibt es etwas einfaches, das ich übersehe? Es scheint so, als ob es sehr einfach sein sollte, MVC mitzuteilen, dass mein Parameter "parentId" an den Wert von "nodeid" in der Anfrage gebunden sein sollte. Ich habe darüber nachgedacht, einen benutzerdefinierten Aktionsfilter zu schreiben, aber es scheint so offensichtlich zu sein, dass ich nicht glauben kann, dass es nicht von Anfang an unterstützt wird.
Das Problem ist, dass es eine dritte Teilbibliothek ist, die die Abfragezeichenfolge Parameter generiert, und es verwendet hässliche Namen (wie n_level). Ich könnte die Quelle bearbeiten, aber das möchte ich vermeiden. –
Ich stimme Robert zu ... Wenn Sie keine spezielle Route definiert haben, werden die hässlichen Paramnamen als Querystring-Parameter nach dem Fragezeichen angehängt. Das einzige, was Sie opfern, ist die "hübsche" URL. Aber wie "hübsch" kann eine URL mit Namen wie "n_level" sein? – mikerennick