0

MVC: aspx view: を使用してリンクを作成しているときに、奇妙なことが起こりました。

<%= Url.Action("ActionName", "Controller", new { action = "add" }) %>

私が期待していた: "/Controller/ActionName?action=add"、私はちょうど得ました: "/Controller/ActionName"

「アクション」路線図のせいかな??

これを強制する方法はありますか?ドキュメントはありますか? 他に何が剥がれるのか気になるからです。

ルート構成:

routes.MapRoute("Default", 
  "{controller}/{action}/{id}", 
  new { controller = "Home", action = "Index", id = "" }
);
4

1 に答える 1

1

action(またはその任意のケーシング)は、ASP.NETMVCにとって重要な予約済みルートデータです。名前を別の名前に変更することをお勧めします。

裏では、Url.ActionヘルパーがactionNameパラメーターの値でオーバーライドしている可能性があります。

その他の予約済みルートデータ名には、およびが含まcontrollerareaます。これらも大文字と小文字を区別しません。

于 2013-02-19T15:53:34.327 に答える