問題タブ [attributerouting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1504 参照

c# - AttributeRoutingを使用してデフォルトのASP.NETMVCルートを作成しようとしています

ASP.NETMVC3アプリケーションでAttributeRoutingを使い始めたところです。私は-no-コントローラーから始めました。(新しい空のMVC3アプリケーション)

それから私はエリアを作りました。(呼ばれるDocumentation:)

次に、コントローラーを追加しました(DocumentationController:)

私はそれからこれをしました。

そして、次のルートが機能します。/documentation/index

しかし、どうすればこれら2つのルートを機能させることができますか?

1- /<-(デフォルトルート/特定のルートは指定されていません)2- /documentation<-「インデックス」サブルートセクションが追加されていません。

これはAttributeRoutingで実行できますか?

アップデート:

デフォルトのASP.NETMVC3構造などでこれを行う方法を知っています。私がやろうとしているのは、代わりにAttributeRoutingを介してこれを理解することです。

0 投票する
1 に答える
1877 参照

c# - AttributeRoutingを使用してURLの領域を非表示にする

エリアを使用して、ASP.NETMVC3で記述されたAPIをAttributeRoutingでバージョン管理してルートを定義しています。

現在、APIの最初のバージョンである「v1」領域があります。v2に到達したら、v1をコピーして変更を加えます。

Webサイトに同じバージョンを使用したいのですが、ルートに/v1を含めたくありません。

私の質問は、URLでエリアを非表示にして、電話をかけるにはどうすればよいかということです。

それ以外の

これが私のコントローラーにあるものです

mywebsite.com/にアクセスしようとすると次のようになります

エラー

前もって感謝します!

0 投票する
1 に答える
1067 参照

asp.net-mvc - 属性のルーティングとローカリゼーションに関する問題

Nuget の AttributeRouting パッケージの最新バージョンを使用して、ASP.Net MVC プロジェクトのルーティングをセットアップしています。英語 (プライマリ) とスペイン語 (セカンダリ) の 2 つの言語を使用する Web サイトを作成しています。2 つの言語の URL は異なります。たとえば、英語版の about us は www.root.com/en/about-us のようになりますが、スペイン語版は www.root.com/es/sobre-nosotros のようになります。

以下のようにルート プレフィックスを設定しています: [RoutePrefix("en", TranslationKey = "Home")]

次に、XML ファイルから値を FluentTranslationProvider に読み込むプログラムを作成しました。ルートを登録するためのコードは次のようになります。

そして、Routes.axd ページにアクセスして以下を確認できるため、機能しているようです: http://imm.io/nm7Z

ページの後半で、私のコードは CurrentCulture が es-AR に設定されていることを示していますが、URLHelper クラスを呼び出して URL を構築すると、デフォルトの英語版のみが構築され、スペイン語版は提供されません。なぜこれが当てはまるのか、誰かが私に洞察を与えることができますか? 私は一生これを理解することはできません。

0 投票する
2 に答える
1225 参照

asp.net-mvc - オプションのクエリ文字列パラメータを使用してMVCルートをテストする方法

私はこのコントローラーメソッドを持っています:

MvcContribルートテストでテストしようとしています。

ただし、このエラーが返されます。

失敗:MvcContrib.TestHelper.AssertionException:パラメーター'sortby'の値が一致しませんでした:期待される''が''でした; 'sortby'という名前のルートコンテキストアクションパラメータに値が見つかりません-一致するルートに'sortby'というトークンが含まれていますか?

私は何が欠けていますか?

0 投票する
2 に答える
682 参照

c# - AttributeRouting のルートのあいまいさ

次のような2つの異なるアクションメソッドで2つの異なるルートを作成しようとしています:

問題は、/project/create に移動すると、projectId が int ではないために失敗する詳細ページにルーティングされることです。

Details ルートを次のように変更できることはわかっています/project/{projectId}/detailsが、逆の方法で機能させたいと思います。

また、解決策として、projectId を文字列にし、projectId == "create" の場合に内部的に Create アクションにリダイレクトすることもできますが、それはひどいと感じます。

これにはAttributeRoutingを使用しています。

0 投票する
0 に答える
421 参照

asp.net-mvc-4 - AttributeRouting: POST はルーティングされるのに、PUT はルーティングされないのはなぜですか?

重複の可能性:
一部のサーバーでのみ、ASP.NET Web API が PUT に対して 404 を返す

新しい Web API 機能を使用するために、新しい ASP.Net MVC4 ソリューションを作成しました。ApiController から継承するコントローラーがあり、AttributeRouting プロジェクト(おそらくここで最もよく説明されている) を使用してルートを設定しています。

POST 用に次のメソッドを設定しました。

これをFiddlerから呼び出すと、Visual Studio 2012 でこれをデバッグして、すべてが期待どおりに機能することを確認できます。ID が正しく、json が BankRequest オブジェクトに自動的に正しくシリアル化されていることがわかります。すべてとてもいいと思います。GET も期待どおりに機能します。

次に、PUT にも同様の方法があります。

問題は、これを呼び出すときに HTTP 404 Not Found メッセージが表示されることです。POST から PUT に変更するだけで、まったく同じ URL と json を送信するだけです。Fiddler で行うことは、POST から PUT に変更するだけなので、URL と json は保持されます。POST に戻すと、正常に動作します。機能しないのは派手な AttributeRouting なのか、それとも他の何かが間違っているのかはわかりません。

誰かが理由を知っていますか?

他の人が定義した API をセットアップしているので、PUT をサポートする必要があることに注意してください。

0 投票する
1 に答える
2632 参照

javascript - AttributeRoutingを使用しているときに、JavaScriptで@ Url.Actionを使用して生成されたリンクが小文字にならないのはなぜですか?

私はJavaScript関数にこのコードを持っています:

MembershipですAreaT4MVCマジックストリングを避けるためにコントローラーとアクションの名前を参照するために使用しています...:)

このJavaScriptコードは、エリアViewに存在するコードの一部です。Membership

UserControllerこのように装飾されています:

Action方法は次のとおりです。

リンクで取得するルートは次のとおりです。

私はそれが次のようになると思っていました:

だから私の質問は:アプリの他のすべてのリンクが小文字で生成されているのに、なぜリンクが小文字ではないのですか?これはサポートされていませんか、それともAttributeRoutingまたはAreaの設定に関連するいくつかの構成を忘れていますか?

0 投票する
5 に答える
29485 参照

c# - WebAPI を使用しようとすると、「'SampleSlashBaseService' という名前のコントローラーに一致する型が見つかりませんでした」というメッセージが表示される

SlashBaseService という名前のベース ApiController を持つ webapi プロジェクトがあります。

結果の dll は WebForms プロジェクトで使用されるため、ルートを生成する次のコードを含む WebActivator クラスもあります。

別のアセンブリにテストサービスもあります。

すべての非常に単純なもの。問題は、これが生成する URL の 1 つにアクセスしようとすると、次のメッセージが表示されることです。

「SampleSlashBaseService」という名前のコントローラーに一致する型が見つかりませんでした。

/routes.axd からのルート リストも正しいようです。

0 投票する
0 に答える
704 参照

asp.net-mvc-4 - 文字列を使用しようとすると、MVC AttributeRouting は常に 404 を返します

NuGet からインストールしたこのパッケージを使用しています。

次のようなメソッドがあります。

私は次のように参照します:

これは次のようになります。

しかし、それは決して私の方法にはならず、常に 404 を返します。

なんで?URL を正しく反転しているのに、リクエストを行ったときに一致しないのはなぜでしょうか?

0 投票する
1 に答える
229 参照

asp.net-mvc - AttributeRoutingの/Xで始まるすべてのリクエストをキャッチするにはどうすればよいですか?

URL:/ X?take = 1&skip = 4

[GET( "X / {request:alpha?}"、IsAbsoluteUrl = true)]

[GET( "X {request:alpha?}"、IsAbsoluteUrl = true)]

[GET( "X {request:alpha *}"、IsAbsoluteUrl = true)]

動作しません。