問題タブ [templatefield]
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.
gridview - グリッドビューでハイパーリンクを使用して、aspxコードビハインドで関数を実行する方法
グリッドビューでハイパーリンクを使用して、クリックしたときにコードビハインドで関数を実行しaspx
、ハイパーリンクが存在する行内のセルの値である変数をその関数に渡す方法。
例:HTMLコード:
背後にあるASPコード:
asp.net - 親コントロールから Container.DataItem を取得するには?
ASP.net リピーターを作成するとします。さらに、ASP.net リピーターの ItemTemplate に ASP.net GridView を配置するとします。
次のようになっているとします。
GridView の TemplateField 内の Repeater DataSource を参照したいと思います。これどうやってするの?
c# - DetailsView に動的に追加された TemplateFields はバインドされたプロパティを設定しません
ObjectContainerDataSource にバインドする一連のテキスト ボックスとドロップ ダウン リストを含む DetailsView を使用して Web ページを作成する必要があります。これは、InsertItemTemplate を使用した一方向バインディング用です。
静的に定義されたフィールドを使用して、テキスト ボックスとドロップダウン リストの両方でこれを簡単に機能させることができますが、私の特定の状況では、Web ページを高度に構成する必要があるため、実行時にフィールドを追加する必要があります。
テキストボックスの場合、これは BoundField クラスを介して簡単に行うことができますが、ドロップダウン リストに TemplateField を使用しようとすると、すべてがひどくうまくいきません。独自の TemplateField クラスを記述したり、CompiledBindableTemplateBuilder を使用して InsertItemTemplate を直接設定したりするなど、さまざまな方法を試しました。しかし、私が何をしても、基本的な問題は、挿入ボタンがクリックされた後、TemplateFields がオブジェクト データ ソースにバインドされないことです。これは、ポストバック時に InsertItemTemplate が null であるためだと思います (すべてのフィールドがマークアップで宣言されている場合、InsertItemTemplate は null ではないことに注意してください)。誰かが私がやろうとしていることを正確に行った場合は、返信してください.
概念実証のためにテンプレート フィールド内の単純な TextBox に戻しましたが、どちらも機能しません。下に作ったものを貼っておきます。この場合、TextBox 入力を「CustomerRef」というプロパティにバインドしようとしています。私の問題は Text プロパティの設定方法に関連している可能性があると思いますが、コード ビハインドで Text プロパティを Bind(...) に設定する他の方法を見つけることができませんでした。
これは、テンプレート化されたフィールドを挿入する方法です:
これは、フィールドを DetailsView フィールド リストに追加する方法です。
テキストボックスにテキストを入力して挿入ボタンを押します...次に、挿入イベントのイベントハンドラーで、次のようなデータソースを取得しようとします:
デバッグ環境のこの時点で、問題のフィールドに InsertItemTemplate がなくなっていることに気付きました。null であり、MyCustomerRef が設定されていません。
Page_Load() のさまざまな場所にフィールドを追加しようとしました-すべてのポストバックと最初のロードの両方で。Page_Init() および詳細ビューの Init() イベントで、しかし、私がそれを行う方法に違いはないようです。この問題についてご協力いただきありがとうございます。
asp.net - GridViewは、PostBack中に列の内容を失います
ポストバック間のGridViewの動作に問題があります。
実際の問題は、子のCheckBoxコントロールを使用してcolumn[0]のマークアップで定義したTemplateFieldに起因します。1回目と2回目の検索の実行では問題なく動作します。ただし、2回目の実行とその後の投稿の原因となるものの間のある時点で、TemplateFieldの内容が失われます。
削除されるのは列の内容のみであり、列全体ではありません。TemplateFieldはソースに存在し、テーブルの位置0にフォーマットされた列を表示します。
コード:
ASP.NET:
asp.net - プログラムでGridview TemplateFieldから関数呼び出しを削除する
これが私がやろうとしていることです:
画面スペースの問題により、テンプレート フィールド (ラベル コントロール) の 1 つでテキストを切り捨てるグリッドビューがあります。
私がやろうとしているのは、そのグリッドビューを Excel ファイルにエクスポートすることですが、エクスポート時にそのフィールドが切り捨てられないようにしたいと思います。
これを行う方法はありますか?基本的に、関数呼び出しをプログラムで削除しようとしています。
これは TemplateField のコードです:
asp.net - ASP.NETGridViewのSortExpressionが機能しない
ASP.NETを持っていますGridView
。SortExpression
ここで、特定の列を並べ替え可能にするために、プロパティを<TemplateField>
タグに追加しています。
これで、列の1つに、ヘッダーに追加するマークアップコンテンツが含まれます。問題は、にタグSortExpression
がある場合は機能しないことです。タグをのプロパティ内に配置する必要があります。ただし、プロパティ内にダンプすると、すべてのHTMLコンテンツが正しく機能しません。<HeaderTemplate>
<TemplateField>
HeaderText
<TemplateField>
HeaderText
<HeaderTemplate>
したがって、プロパティ全体をの中に入れると、機能しないことがわかりますheadertext
。
しかし、私は両方の機能を持ちたいと思っています。誰か助けてもらえますか?
asp.net - ASP.net GridView: LinkItem の行を取得する
GridView の「削除」リンクを登録ユーザーに表示したいので、templateField を使用しています。
私の deleteEntry() 関数では、「削除」リンクがクリックされた行についてどのように知ることができますか? たとえばrowindexを取得するにはどうすればよいですか?
sitecore - Sitecore: ページ エディターからデータ テンプレート フィールドを非表示にする
HTML ページのタイトルと body タグの id 属性にそれぞれ使用される 2 つのデータ テンプレート フィールド「title」と「id」があります。ページ エディターを使用してページを表示すると、Sitecore はこれらのアイテムのエディター コントロールをレンダリングしようとしますが、それらはメイン フォーム タグの外にあるため、コントロールは正しくレンダリングされません。これらをPage Editorで編集可能にする必要はありません。
- このようなフィールドを処理するための最良のアプローチ/ソリューションは何ですか?
- これら 2 つのテンプレート フィールドをページ エディターから非表示にすることは解決策ですか?
- その場合、ページ エディターからフィールドを非表示にし、コンテンツ エディターで引き続き使用できるようにするにはどうすればよいですか(コンテンツ エディター内で編集できるようにします)。
javascript - ImageButtonsを使用してGridViewTemplateFieldで画像ハイパーリンクのスタイリング/ホバー機能を保持する方法
GridViewの各行(TemplateFieldを使用)内に、その行のデータを制御するために使用される画像ボタンを表示したいと思います。次に、ユーザーが最初にGridView行にカーソルを合わせたときに、次にユーザーが特定のボタンにカーソルを合わせたときに、ボタンの画像を入れ替えたいと思います。
CSSと画像ハイパーリンクを使用してこのホバー機能を簡単に実行できますが、画像ハイパーリンクを使用すると、特定の行の編集を処理するためのサーバー側イベントを発生させることができません。
以前は、画像のハイパーリンクの代わりにImageButtonsを使用していました。CommandNameパラメーターをImageButtonsに追加してから、GridViewRowCommandをコードで処理しました。
ホバー時にImageButton画像を変更するために、Javascriptを使用しました。
ただし、この場合、ユーザーが最初にGridView行自体にカーソルを合わせたときに、ImageButton画像も置き換える必要があります。
要約すると、ユーザーがGridView行にカーソルを合わせると、その行のImageButtonはすべてimage1をimage2に交換します。次に、ユーザーが特定のImageButtonにカーソルを合わせると、その画像がimage2からimage3に切り替わります。
最善のアプローチについての提案を事前に感謝します。
- - - - - - - - - - - - - - - - - - -編集 - - - - - - -----------------------------
これが最善のアプローチかどうかはわかりませんが、jQueryを使用して解決策を見つけることができました。
これまでのところ、これはうまく機能していますが、これをより適切に処理するための提案を受け入れています。
うまくいけば、これは他の誰かを助けるでしょう。