問題タブ [tag-helpers]
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# - MVC 6では、ビューでチェックボックスリストをコーディングし、チェックされた値をコントローラーに渡す方法は?
申し訳ありませんが、ほとんどの検索で古い MVC コードが表示されます。どんな助けでも大歓迎です。
タグ ヘルパーを使用する MVC 6 では、一連のチェックボックスをどのようにコーディングしますか。
- ラベルにタグヘルパーを使用して、クリックするとチェックされた値が切り替わるようにします
- チェックした値を IsOptionSelected プロパティに保存 (バインドしますか?)
- [送信] をクリックした後、これらのチェックされた値をコントローラーに渡します。
?
ラベル付きのチェックボックスを正しく表示できましたが、モデルを介してチェックされた値をコントローラーに戻す方法がわかりません。現在、IsOptionSelected の値は false として返されています。
また、ラベルの html ヘルパーを機能させることができましたが、タグ ヘルパーは機能しませんでした。また、これらすべてを間違ってコーディングしている可能性があるため、ヒントが役立ちます。
これが私がこれまでに持っているものです:
画面:
実在物:
モデル:
リポジトリ:
意見:
前もって感謝します!
asp.net-core - Mvc 6 taghelper asp-action ルートが機能しない
Mvc 6 で Areas を使用しており、特定の各エリアにルーティングしようとしています。たとえば、私はこれを持っています:
私のコントローラーの外観は、次のように Area および route 属性で装飾されています。
次に、以下のように定義された 2 つの HTTPGET メソッドがあります。
最後に、私のフォームは次のようになります。
フォームを投稿しようとすると、次のようにスローされます。
AmbiguousActionException: 複数のアクションが一致しました。次のアクションは、ルート データと一致し、すべての制約が満たされていました。
Areas.Test.Controllers.TestController.Index
Areas.Test.Controllers.TestController.Create
asp-action で定義すると Create メソッドにバインドされると思われるかもしれませんが、フォームのレンダリングされたマークアップを確認すると、次のようになります。
私のメソッド Create は処理されません。テスト/テスト (エリア/コントローラー) のみをレンダリングします。
[Route("Create")]
また、結果の有無にかかわらずメソッドを装飾しようとしました[HttpGet("Create")]
。
ここで明らかなことを見逃していますか?
asp.net-core-mvc - MVC 6 TagHelper クラスからセッションやその他の Web コンテキストにアクセスするにはどうすればよいですか?
コントローラー/アクションメソッドを呼び出すか、少なくともセッション変数を利用する独自のヘルパーメソッドを呼び出す必要があります。TagHelper の Process メソッド内からこれを行うにはどうすればよいですか
asp.net-core - 2 つのパラメーターを使用した MVC6 属性ルーティング
私はこれを調べましたが、複数のパラメーターに対応する代替の [HttpGet] メソッドを持つことに関連して、MVC6 taghelper アンカー タグに関連するものは何もありません。
確かに複数のパラメーターを MVC6 アンカー タグヘルパーに追加できますが、属性ルーティングを使用して 2 つのパラメーターを持つ 2 番目のオプションをどのように処理しますか...
[HttpGet] IactionResult メソッドが 2 つあります。
私の見解では、2番目の方法に進む試みがあります。
これは次のようにレンダリングされます:
また
IT が 2 番目の方法に進むことはありません。
MVC6 アンカー タグヘルパーを使用して 2 つのパラメーターで 2 番目の [HttpGet] メソッドを使用するには、どうすればよいですか?
編集
また、ルート属性の 2 つのパラメーターを区切るアンパサンドをどのように処理しますか...
c# - TagHelper は ForExpression から MaxLengthAttribute 属性を取得します
TagHelper ModelExpression 内から MaxLength 属性を取得するにはどうすればよいですか?
私はMVC 5でこれを行うことができました
モデルにある MaxLength 属性を取得する必要があります - 例:
TagHelper は ModelExpression.Metadata を公開します。DisplayName属性など。ただし、MaxLength または StringLength 属性は除きます。
c# - asp.net 5 MVC6のタグヘルパーとルート属性の間の奇妙な動作
<a>
現在のアクション以外のタグでasp-controller と asp-action を使用すると、[Route]
属性を持つコントローラー メソッドによって呼び出されるビューで、生成されたリンクのhref
属性が空になります。
コントローラーで:
ビューで:
生成されたhtml:
ご覧のとおり、最初のリンクが正しく生成されていません。現在のアクション以外の別のアクションを対象とするすべてのリンクは、空のhref
タグで生成されます。
ShowSection アクションの [Route] 属性を削除すると、次のようになります。
ご覧のとおり、リンクは正しく生成されています。
[Route]
属性を保持しながら (または別の方法で) これを修正するにはどうすればよいですか?
c# - MVC6 TagHelper のサーバー側検証での間違ったカスタム エラー メッセージ
MVC6 TagHelper で、2 つのテキスト ボックスとそのバインド モデルを作成しました。1 つのテキスト ボックスは string 型、もう 1 つは int 型のカスタム エラー メッセージで、ポストバック中にデータ注釈で指定されたカスタム エラー メッセージが適切にレンダリングされません。ストリング。
私のコントローラーは
モデルクラスは
そして私のHtmlタグヘルパーコードは
ここでは、サーバー側の検証のみをチェックしています。送信ボタンをクリックすると、最初のテキスト ボックスのスパン検証で文字列値が必要と表示されますが、2 番目のテキスト ボックスのスパン検証で値 '' が無効であると表示されます。Int 値の代わりに必要です
誰かがこれを解決する方法を提案できますか?