ASP.NET MVCプレビュー5ルーティング曖昧さ
-
09-06-2019 - |
質問
しているサンプルルーティング、プレビュー5asp.net mvc.
のAccountControllerい2。
public ActionResult Delete()
public ActionResult Delete(string username)
できるように見のためのアカウント/削除またはアカウント削除?ユーザー名=davideのControllerActionInvoker捨て例外と削除の請求が曖昧の間の牽引行為。
デフォルトのルートです。asax変化していない。
な行動の呼び出し元かの方法で呼び出しのパラメータです。
のプレビュー4したことがなかったのでこれらの問題と同様の操作を行うこと.
ずっと面白いアイデアないか?
解決
溶液中です。
の導入により、ActionNameAttributeについて必要なフィルターを手動できる方法を呼ぶようになります。このActionSelectionAttribute.
十分な説明はこちら http://haacked.com/archive/2008/08/29/how-a-method-becomes-an-action.aspx
他のヒント
どちらともいえない確かなのはなぜこのことが起こっているのです。でも考えておいた方がよいでしょうみの削除(string username)行動を除去し、パラメータによる。
で文字列nullable私の理解では、この呼アカウント/削除が呼び出すメソッドのアクションnullの場合ユーザー名パラメータでその試験のための初めにアクションの方法。
何を思い溝の空白を削除()は、使用の削除(string username)
おurlルーティングするようなもの"/{コントローラ}/{行動}/{username}/"?場合は"/{コントローラ}/{行動}/{Id}/"まえによって削除(string id)を用のurlを扱うこと"/Account/削除/davide/"
とはいえご利用のデフォルトルートするように、デフォルトのIdは""
その後に削除(string id)方法:
public ActionResult Delete(string id)
{
if(string.IsNullOrEmpty(id)) return EmptyID();
// Continue normal Delete method
}
public ActionResult EmptyID()
{
// The method you were going to have on a blank delete.
}
ることでラップする方法のひとつにする{}else{}
はだれの一つの方法とデフォルトユーザー名/idルートの空の文字列で取り扱いすることができてうれしいです。
したい場合はお問い合わせ一層のフォローアップとして、また何を意味し、または何をpingさんのアンドリュー-@myドメインに"myページです。
編集:ああいうBerkoわりません確かに名前の属性にうでくださいコメントを投稿したいコンテンがここに書か他の男たちを尽くしません。※:)
その曖昧ならではのコントローラのアクションの後方法の..できるだけ使用する形での投稿のシナリオと、たとえば提出フォームのデータを使用するHTTPポスト..