問題タブ [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.
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
ご覧のとおり、既存のパラメーターは省略されています。
asp.net-mvc - RouteValueDictionary を介して単一の値を送信する
私の ViewModel のプロパティの 1 つは、残念ながらnull
コントローラーにポストバックするたびに配列です。値をカンマ区切りの文字列に配置する簡単なハックを考え出しました。
これはIndex
、RouteValueDictionary
. ただし、別のコントローラー アクション (メソッド) Html.BeginForm
にポスト バックするヘルパーでは機能しません。Update
意見
コントローラ
上記のフォームは、このコントローラー アクションにポストします。変数はsearchChannelCodePaging
毎回 null です。
asp.net-mvc - ASP.NET MVC:フォームを送信するたびにカスタムルート値を送信することは可能ですか?
このようなカスタムルートがあります
ページにいるとき
BeginForm (BeginRouteForm ではない) で送信するか、このページの actionlink をクリックするたびに、parcontroller のルート値として「製品」を送信することは可能ですか?
asp.net-mvc - カスタム URL リンク MVC の作成方法
MVC4のUrlHelperクラスには以下のようなメソッドがいくつかあります
...しかし、これに対するすべてのアクションメソッド呼び出しでルート値を変更したいのでCustomUrlHelper
、次のようなクラスを書きました:
アクション名とコントローラー名を知っていれば問題ありませんが、ベース URL とルート値の辞書だけを知っていれば、私のCustomAction
方法は機能しません。
A/B/C/D とRouteValueDictionary
.
ここで、完全なリンクを取得baseUrl
して生成するメソッドが必要です。RouteValueDictionary
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
。
c# - 同じ名前の複数の値を持つ RouteValues を操作する方法
私の ASP.NET MVC 4 アプリケーションでは、複数のタグでフィルター処理できます。HTML では、次のようになります。
1 番目と 3 番目のチェックボックスをオンにすると、クエリ文字列が次のようにシリアル化され?tag=1&tag=3
、コントローラーは次のクラスの型を持つオブジェクトを適切に渡します。
ただし、 を呼び出すとUrl.Action
、実際の値ではなく、コレクションの型名がシリアル化されます。
これはどのように行うことができますか?
MVC の標準インフラストラクチャは、入力として記述された複数のキーを処理できます。逆にそれを処理できる標準インフラストラクチャはありませんか? 何か不足していますか?
c# - 選択したボタンの値をビューからコントローラーに渡す
選択したボタンの値をコントローラーに渡したいと思います。以下の私のコードを参照してください。
私のコントローラーでは、ProductId を渡しています。これを使用して、コントローラー内で製品の値を設定します。
コントローラ:
ビュー内には、ラジオのようなボタンを作成する foreach ループがあり、hiddenfor(SelectedProductId) も取得しています。
意見:
製品 ID を ActionLink に渡し、コントローラーに渡したいと思いますが、これをどのように達成できるかわかりません
ボタンクリック: