問題タブ [routevalues]

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 投票する
2 に答える
7924 参照

c# - ビュー内の現在の URL にパラメーターを追加する方法は?

私は、3 つの言語フラグ (画像) を含むレイアウトを使用する ASP.NET MVC4 ベースの Web アプリケーションを持っています。これらのフラグは、サイト全体で表示されます。これらの画像を言語選択に使用したいと思います。特定の言語でページを表示するには、現在の URL にパラメーターを追加して読み込むだけで済みます。次に、コントローラーがそれを評価し、モデルに正しい言語を設定します (または、ある場合はデフォルトのフォールバック言語を設定します)。リクエストで言語が指定されていません)。

次に例を示します。

言語が指定されていません:

指定言語:

私の質問は次のとおりです:言語フラグの画像を囲み、言語パラメーターのみがある場合に、すべてのパラメーターと新しいパラメーターを&lang=1033それぞれ使用して、現在読み込まれている URL を常に指すレイアウト内のリンクを形成するにはどうすればよいですか??lang=1033

つまり、すべてのパラメーターを使用してまったく同じページへのリンクを作成し、ルート値を URL に追加する方法は?

更新:これは詳細な例です

_Layout.cshtmlは持っています:

サイトを実行すると、スタート ページのリンクが正常に機能し、現在のページを指し、対応する URL に lang=xy パラメータが追加されます。

しかし、まったく同じレイアウト ファイルを使用し、パラメーターも使用する別のページに移動すると、リンクが正しく作成されません。次の URL で定義されたサブページに移動するとします。

ページ自体は正しく表示されます。しかし、言語リンクにカーソルを合わせるかたどると、次のようになります。

http://localhost:1234/Stations?lang=1031それ以外の

http://localhost:1234/Stations?position=up&lang=1031

ご覧のとおり、既存のパラメーターは省略されています。

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

asp.net-mvc - RouteValueDictionary を介して単一の値を送信する

私の ViewModel のプロパティの 1 つは、残念ながらnullコントローラーにポストバックするたびに配列です。値をカンマ区切りの文字列に配置する簡単なハックを考え出しました。

これはIndexRouteValueDictionary. ただし、別のコントローラー アクション (メソッド) Html.BeginFormにポスト バックするヘルパーでは機能しません。Update

意見

コントローラ

上記のフォームは、このコントローラー アクションにポストします。変数はsearchChannelCodePaging毎回 null です。

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

asp.net-mvc - ASP.NET MVC:フォームを送信するたびにカスタムルート値を送信することは可能ですか?

このようなカスタムルートがあります

ページにいるとき

BeginForm (BeginRouteForm ではない) で送信するか、このページの actionlink をクリックするたびに、parcontroller のルート値として「製品」を送信することは可能ですか?

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

asp.net-mvc - カスタム URL リンク MVC の作成方法

MVC4のUrlHelperクラスには以下のようなメソッドがいくつかあります

...しかし、これに対するすべてのアクションメソッド呼び出しでルート値を変更したいのでCustomUrlHelper、次のようなクラスを書きました:

アクション名とコントローラー名を知っていれば問題ありませんが、ベース URL とルート値の辞書だけを知っていれば、私のCustomAction方法は機能しません。

A/B/C/D とRouteValueDictionary.

ここで、完全なリンクを取得baseUrlして生成するメソッドが必要です。RouteValueDictionary

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

c# - クエリ文字列パラメーター/ルート値を渡さずに RedirectToAction を使用する

次のような「Thingy」コントローラーがあります。

ただし、RedirectToActionルート値にパラメーターからのIDが入力されたままになりますが、IDをnullのままにして、www.mywebsite.com/Thingy代わりににリダイレクトする必要がありますwww.mywebsite.com/Thingy/1

実際、私はwww.mywebsite.com/Thingy直接アクセスでき、期待どおりに機能します。

私が試してみました:

www.mywebsite.com/Thingy?id=1他の人が にリダイレクトするのと同じようににリダイレクトするので、最後のものは特に面白いですwww.mywebsite.com/Thingy/1

0 投票する
4 に答える
1982 参照

c# - 同じ名前の複数の値を持つ RouteValues を操作する方法

私の ASP.NET MVC 4 アプリケーションでは、複数のタグでフィルター処理できます。HTML では、次のようになります。

1 番目と 3 番目のチェックボックスをオンにすると、クエリ文字列が次のようにシリアル化され?tag=1&tag=3、コントローラーは次のクラスの型を持つオブジェクトを適切に渡します。

ただし、 を呼び出すとUrl.Action、実際の値ではなく、コレクションの型名がシリアル化されます。

これはどのように行うことができますか?


MVC の標準インフラストラクチャは、入力として記述された複数のキーを処理できます。逆にそれを処理できる標準インフラストラクチャはありませんか? 何か不足していますか?

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

c# - 選択したボタンの値をビューからコントローラーに渡す

選択したボタンの値をコントローラーに渡したいと思います。以下の私のコードを参照してください。

私のコントローラーでは、ProductId を渡しています。これを使用して、コントローラー内で製品の値を設定します。

コントローラ:

ビュー内には、ラジオのようなボタンを作成する foreach ループがあり、hiddenfor(SelectedProductId) も取得しています。

意見:

製品 ID を ActionLink に渡し、コントローラーに渡したいと思いますが、これをどのように達成できるかわかりません

ボタンクリック: