問題タブ [html.hiddenfor]
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.
asp.net-mvc-3 - 反復中にHtml.HiddenForを使用します
ViewModelは次のようになります。
WCには相関するTCのグループがあります。それらの関係は、外部キーを含むTCによってマップされますWCId
。
ビューでは、私はフォームを持っています。フォームには、WCの入力フィールドがあります。次に、最大4のカウントに応じてTCのグループがあります。各TCには、外部キーを持つTCに関連するTがありますTCId
。フォームが投稿されたときに、TCに相関関係があることを確認しようとしていTId
ます。はTId
、WのTのリストに保持されます(つまり@Model.W.T.ElementAt(someindex).TId
)。
ラムダ式をレバレッジして、ヘルパーを使用してビューでこのリレーションを生成し、相関コントローラーがhttppostアクションで使用できるようにするにはどうすればよいですか?
これが私が今していることです:
私がやりたいのはヘルパーを使用することですが、@Html.HiddenFor
ヘルパーを機能させることができないようです。そのため、上記の少し動的でありながらハードコードされたアプローチを使用しました。注:これは機能しますが、よりクリーンにしたいと思います。
asp.net-mvc-3 - @Html.HiddenFor() は値を保持しません
私の見解では、すべてのデータはviewmodelから来ており、viewmodelは次のもので構成されています:
示されているように、ビューでこれを使用すると:
filename
それはandの価値を保持していませんuploadfile
が、私の見解@if(Model.uploadfile)
では、使用すると適切な価値が得られます
なぜこれが起こっているのか誰か教えてもらえますか?の値を保持するにはどうすればよいですかmodel.filename
asp.net-mvc-3 - hiddenFor ヘルパーは、viewModel ではなく、アクション パラメーターから ID を取得しています
ASP.Net MVC で、"id" をアクション パラメーターとして渡し、"id" 非表示のフォーム要素を渡すという、非常に奇妙な状況に遭遇しました。「id」パラメーターを持つアクションがあります。この id 値はプロジェクトを表します。渡されたプロジェクトに従業員を割り当てるためのデータ入力フォームを作成するコントローラーアクションがあります (管理者が渡されたプロジェクトに割り当てられる従業員を選択するドロップダウンリストを作成します)。従業員をプロジェクトに割り当てることにより、ProjectEmployee レコード (プロジェクト ID、従業員 ID、およびデータベースの ID 列である組み合わせを表す ID) を作成します。ID 列 (「id」という名前) も非表示のフォーム要素です。プロジェクト/従業員の割り当てを後で編集できるようにする必要があるため、これが必要です。
とにかく、プロジェクトへの新しい従業員の割り当てを作成するとき、プロジェクト ID (アクションに渡される「id」) が「id」隠しフォーム要素に適用されます。
117 をアクションに渡します。117 は projectId です。0は新しいプロジェクト/従業員の割り当てを表すため、0である必要がある「id」隠しフィールドに設定されています。
モデルを見る
データ入力フォーム
したがって、 @Html.HiddenFor(m => m.Id) は非表示のフォーム要素を値 117 でレンダリングします。 @Model.Id は 0 を UI にレンダリングします。コードをステップ実行すると、Id プロパティの値が 0 であることが視覚的にわかります。
このバグは本番環境に移行したため、データベーステーブルに新しいレコードを作成する代わりに、「Id」プロパティが誤って設定されているため、実際には既存のレコードを更新しているため、データがめちゃくちゃになってしまいます。 0 (新しいレコードを表す) から 117 (projectId) までであり、別のレコードを更新しています。
asp.net-mvc-3 - HTMLヘルパーとasp.netmvc3の非表示
簡単なブログアプリケーションを作成しています。ブログ投稿にコメントを追加する必要があります。コードに次のような行があります。
基本的に、Comment.BlogIDをModel.Blog.BlogIDに設定しています。
HTML.Hiddenforを使用してこれを行う方法はありますか。
以下のコードを試しましたが、機能しません。
asp.net-mvc - Html.HiddenFor と HiddenInput 属性の違い
HiddenFor の説明: 指定された式で表されるオブジェクト内の各プロパティの HTML 隠し入力要素を返します。
ページに保持する必要があり、別の呼び出しが行われたときに渡されたが、ユーザーには表示されるべきではない Model/ViewModel のフィールドに役立つことを読みました。
HiddenInput の説明: プロパティまたはフィールド値を非表示の入力要素としてレンダリングする必要があるかどうかを示すために使用される属性を表します。
いつ HiddenInput が役立つか教えてください。Html.HiddenFor の代わりにいつ使用するのですか?
ありがとう!
asp.net-mvc - HTML.HiddenFor値セット
動作しません!値を設定する方法は?
javascript - JavaScript は、デバッグを停止するときにのみ HiddenFor を評価します (ASP MVC4)
JavaScript (ASP MVC4) の非表示フィールドの評価に問題があります ビューでモデルを使用しており、モデルのプロパティに非表示の入力があります
SearchBox を持つヘルパーがあり、Enter キーを押すと検索が行われます。
問題は、DeveloperTools をオンにしてブラウザーが「デバッガー」で停止した場合にのみ、var filterByUser に値があることです。ツールが閉じている場合、「パラメーター ディクショナリには、メソッドの null 非許容型 'System.Boolean' のパラメーター 'filterByUser' の null エントリが含まれています」
もう 1 つの値である searchValue は、評価されても問題ありません。
これを修正するにはどうすればよいですか? ありがとう、ダニエル
asp.net-mvc - フォーム送信時にモデル全体を渡す
私は使用できることを理解して@Html.HiddenFor(m => m.parameter)
おり、フォームが送信されると、そのパラメーターがコントローラーに渡されます。私のモデルには多くのプロパティがあります。
モデル全体を一度にコントローラーに渡す短い方法はありますか、それとも毎回 1 つずつ行う必要がありますか?