問題タブ [formview]
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 - FormViewは、ImageButtonから発行されたコマンドに応答しませんか?
FormViewのLinkButtonの代わりにImageButtonを使用して、新規/編集/削除/キャンセルコマンドを発行していますが、FormViewには影響がないようです。
ImageButtonsはポストバックを引き起こしますが、FormViewモードは現在のモードから変更されません。
ImageButtonsはある時点で機能していたと思いますが、私はしばらくの間他のページで忙しかったです。これまでに変更されたのは、VisualStudioにインストールしたパッチだけです。
これ以外に、この問題に関連する情報を見つけることができませんでした:http: //www.codeproject.com/KB/webforms/TamingTheFormView.aspx その記事には、変更に使用されるImageButtonのonclickメソッドがあります。 FormViewモード。
FormViewでLinkButtonの代わりにImageButtonを使用する唯一の方法でしょうか?
ここにいくつかのコードフラグメントがあります:
コードビハインド:
ボタンを処理するための他のコードはありません。何が起こっているかを確認するために、FormView用の空のイベントハンドラー(ModeChanging、ModeChanged、およびItemCommand)をいくつか作成しました。ImageButtonをクリックしたとき、それらはどれも呼び出されていませんでしたが、LinkButtonを使用すると、すべてが正常に機能しました。
複雑なことは何もしていません。FormViewが基本的なImageButtonコマンドに応答するようにしたいだけです。
c# - フォームビューの一部ではない ASP.NET のテキスト ボックス コントロール
多くのテキストボックスで構成されるフォーム内にテキストボックスを追加し、最後に 1 つのボタンを追加する必要があります。データソースがあり、すべてのデータがフォームロードに読み込まれ、ボタンがテキスト ボックスの値を更新します。問題は、この特定のテキストボックスはデータソースにありません。これを web.config から取得したいのですが、他のページで web.config を変更することができましたが、この場合はテキストボックス IDページ自体のコード ビハインドではインテリセンスで表示されないため、フォームの純粋なバインディング以外にはアクセスできないと考えました。
上に、アクセスできないテキストボックスがあります。
上にはアクセス可能なテキストボックスがありますが、下には更新ボタンがあります。
テキストボックスの前に EditItemTemplate を閉じて、後で再度開いてみました。うまくいきません。
もちろん、ボタンの下、フォームが終了する場所の下に配置することもできますが、それらはフォームの一部ではなく、それは機能しますが、ボタンの上にテキストボックスが必要な場合はどうなりますか? ASP.NET フォームビュー内でアクセス可能なバインドされていないテキスト ボックスが必要です。それは可能ですか?
ps .: 実行時に web.config をいじることの意味を知っており、これが十分に計画されていないように見えることはわかっていますが、この質問に関係のない詳細については言いませんでした。
asp.net - FormView コントロールの複数選択 ListBox のデータバインディング
FormView 内に複数選択の ListBox があります。データバインディングをセットアップする方法がわかりません。
リストボックスに問題なく入力できます。リストボックスが単一の選択である場合、私は言うことができSelectValue='<%#Bind("col")%>'
、それはうまくいきます。複数選択リストボックスにバインドできるものはありますか? リストボックスの DataBinding イベントを処理し、適切な項目で選択されたプロパティを設定することにより、手動で DataBinding を試みました。残念ながら、DataBinding イベント中はリストボックスに項目がありません。私が見つけた最も近いものは、DataBinding 中にどの項目を選択する必要があるかを決定する値を保存し、FormViews DataBinding イベントでその値を使用して、ハックのように見える適切な項目を選択することです。
より良い方法はありますか?
編集:
自分が今何をしているかを明確にするために...
FormViews の ItemCreated イベントを使用して、FormView の DataItem を保存しています。次に、FormView の DataBound イベントでリストボックスを見つけ、選択した項目を手動で設定します。このように値を保存する必要があるのは正しくないようです。これを行うためのより正しい方法があると思いますが、私にはわかりません。
asp.net - FormView コントロール内の LoginView は PostBack でデータバインドされていません
私はかなり単純なフォームを持っています:
LinqDataSource OnUpdating イベントを処理し、いくつかの M:N フィールドを処理する作業を行います。それはすべてうまくいきます。
ただし、更新が完了すると (e.Cancel = true を呼び出します)、LoginView コントロールはその子をデータバインドしません... したがって、それらはすべて空白になります。FormView のビューステートは、LoginView の外側にある残りのすべてのコントロールが問題なく表示されるため、問題ありません。FormView_DataBound イベントも処理し、Trace は FormView がポストバックでデータバインドされていることを示します。
では、LoginView が ViewState を保持していない/データバインドされていないのはなぜですか? フローを示すサンプル コード スニペットを次に示します。
asp.net - ボタンのクリックに基づいてASP.NETFormViewのカスタムオブジェクトを変更するにはどうすればよいですか?
NB. I am going to be away until Tuesday next week. So all help is appreciated but I will be unable to comment/respond until then.
カスタムクラスのインスタンスを変更するFormViewがあります。さまざまなフォームコントロール(TextBox、DropDownListなど)が正常に機能しています。ただし、非常に単純なロジックに基づいてDataItemの状態を変更するButtonを含めたいと思います。紛らわしくない方法でこの変更を制御できるフォーム制御はありません。
実は、住所を入力するためのフォームがあります。住所は「標準」のオーストラリアの住所(番地と名前、郊外の州と郵便番号)の場合もあれば、「非標準」の場合もあります。つまり、郊外の前に3つの住所行があります(より具体的な住所要件がある場合)。「行を追加」というボタンが欲しいのですが、それをクリックするとオブジェクトがからに変わりAddressLines.StandardAustralian
ますAddressLines.NonStandardAustralian
。非標準アドレスの場合、「余分な行を削除」という別のボタンがあり、それをクリックするとプロセスが逆になります。
そこで、ボタンを追加して、コードビハインドのDataItemの状態を変更してみました。しかし、私が遭遇する問題は、FormViewのDataItemがnull/nothingであるということです。このSOの質問を読んだところ、ボタンのClickイベントが発生したときにアイテムがデータバインドされていないことが問題のようです。
だから、質問。ButtonのClickイベント中にFormViewのDataItemを取得することは可能ですか?そうでない場合:これを実装するための私のオプションは何ですか?
前もって感謝します。
コードビハインド:
Aspx:
.net - DataBound イベントでも FormView.InsertItemTemplate でコントロールが見つかりません
私はFormView
自分のページのマークアップに持っています:
コード ビハインドWASです。
なりました:
FormView
理論的には、データがバインドされた後に制御を見つけることができます。でも僕はそうじゃない。なんで?
asp.net - FormViewテンプレートでのユーザーコントロールの使用
FormViewのEditItemTemplate、InsertItemTemplate、およびItemTemplateテンプレートのそれぞれのコントロールのセットの繰り返しは、レイアウトやコードの複製などの点で面倒でリスクが高いと思います。xxxDetailsユーザーコントロールを作成して、これを使用します。各テンプレート、レイアウトとコードの場所を1つの場所に切り詰めます。
ただし、これにより、データバインディングシナリオにいくつかの複雑さが生じます。これらのシナリオでユーザーコントロールを使用するための明確なパターンまたは実践ガイドはありますか?
c# - マスター/コンテンツにリファクタリングすると FormView テンプレートが壊れる
サブクラス A1、A2、A3 を持つ抽象クラス IA があるとします。
サブクラスごとに、挿入/編集/表示する FormView を含むページと、そのクラスに固有のコードを用意しました。挿入/編集/表示用のテンプレートはすべて非常に似ているため、ほとんどがカット アンド ペーストであり、異なるテンプレートに同じ ID を持つコントロールが存在してもコンパイラは問題ありませんでした。
このようなもの:
コード/マークアップの多くはページ全体で冗長になってしまったので、マスター/コンテンツ形式を使用するようにリファクタリングし、マスター ページには挿入/編集/表示テンプレート用のコンテンツ プレースホルダーを配置しました。
マスター ページ:
そしてコンテンツページ:
コンテンツ ページ テンプレートでは、リファクタリングする前とまったく同じことを行っていますが、コンパイラがエラーで爆発しています。BC30260: 'Label1' is already declared as 'Protected WithEvents Label1 As System.Web.UI.WebControls.Label' in this class.
何らかの理由で、コンテンツ プレースホルダーが個々のテンプレートにあるにもかかわらず、コンテンツ ブロックのコントロールがテンプレートにあったときと同じ方法で分離されていません。
すべてのコントロールの名前を変更する以外に、これを回避する方法はありますか?
formview - フォームビューに挿入された最後のIDを取得するにはどうすればよいですか
レコードを挿入した後にフォーム ビューが表示されます。挿入されたレコードの最後の ID を知りたいです。
asp.net - FormViewのEditItemTemplateからドロップダウンリストにアクセスする方法
テーブルを使用して配置されたさまざまなコントロールを含む aspx ページにフォームビューがあります。編集モード内の役割に応じて有効または無効にする必要がある DDL "cboClients" があります。
ここでの問題は、FindControl() メソッドを使用してそのコントロールを取得できないことです。
次のコードを試しました-
私も同じコントロールの DataBound イベントを使用しました -
ただし、このデータバインド イベントは 1 回だけ発生しますが、formview モードが変更されたときは発生しません。
誰かが私に適切な解決策を提供できますか?
時間を共有していただきありがとうございます。