問題タブ [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.
c# - ASP.NET: フィールドを「更新」する方法データベースに null 値がある (SQL)
FormView コントロールを使用しています。これにより、データベース内のレコードを更新できます。ただし、データベース フィールドが null の場合、フォームのフィールドを更新できません。フィールドが null 値でない場合は正常に機能します。データをバインドしたりデータを操作したりするためにコード ビハインド (C#) を使用していません。
データベースに null 値がある場合、「データセット」にレコードがないことを読みました。以前に null 値がある場合に、フォームに値をバインドする方法を誰かに教えてもらえますか。
ありがとう、
J
...
総記録
ディーラーの詳細
ディーラー ID <%# Eval("Dealership_Id")%> メール 1 <%# Eval("Dealership_Email1")%> ディーラー <%# Eval("Dealership_Name")%> メール 2 <%# Eval("Dealership_Email2")% > 支店名 <%# Eval("Dealership_BranchName")%> メール 3 <%# Eval("Dealership_Email3")%>電話 1 <%# Eval("Dealership_Phone1")%> 住所 <%# Eval("Dealership_Address")%> 電話 2 <%# Eval("Dealership_Phone2")%> 都市 <%# Eval("Dealership_City")%>電話 3 <%# Eval("Dealership_Phone3")%> 状態 <%# Eval("Dealership_State")%> Fax <%# Eval("Dealership_Fax")%> 郵便番号 <%# Eval("Dealership_ZipCode")%>
ディーラーの詳細
ディーラー ID <%# Eval("Dealership_Id")%> メール 1 '> ディーラー '> メール 2 '>支店名 '> メール 3 '> 電話 1 '>住所 '> 電話 2 '> 都市 '>電話 3 '> 状態
asp.net - フォームビュー内の if else ステートメント
私は FormView を持っています。SQLServer データベースからフィールドをレンダリングしますが、取得したデータベース値に固有の多くの静的テキストもレンダリングします。これがコードビハインドで実行でき、これらすべてを関数に入れることができるかどうかはわかりません。フォームビューに入れました
上記のコードを実行すると、エラー メッセージが表示されます。
Eval()、XPath()、および Bind() などのデータバインディング メソッドは、データバインドされたコントロールのコンテキストでのみ使用できます。これはフォームビュー内で実行できますか?
助けてくれて本当にありがとうございます。
c# - マスター (フォームビュー)/詳細 (グリッドビュー) c# の例
c#を使用してEditTemplate内にグリッドビューを持つフォームビューの例はありますか? gridview のデータソースはデータテーブルです。
dt データソースを設定すると、エラー Object reference not set to an instance of an object が表示されます
ありがとう
.net - FormView.FindControl() は DataBind() まで null を返します
メソッドがcall までFindControl()
戻る理由。null
FormView
DataBind()
その後、すべてを正しく返しますか?
どのような回避策がありますか?
?DataBind()
の最初の呼び出しの前に呼び出すFindControl()
c# - Linq to SQL:複数のテーブルのデータを含むフォームビューを更新するにはどうすればよいですか?
簡単な例を見てみましょう。
両方ともcustomerIDフィールドを持つcustomerテーブルとaccountテーブルがあります。両方のテーブルのデータを更新できるformviewが必要です。
FormView:
Linq to SQLでこれを行うにはどうすればよいですか?Bind( "Account.AccountRate")のようなBindステートメントを使用するだけですか?または、ItemUpdatingイベントなどで魔法をかける必要がありますか?
asp.net - ASP.NET FormView 内のコントロールで満たされたテーブル、コントロールを取得しますか?
FormView 内のコントロールを取得するためのトリックは何ですか。私は FindControl() でそれらを取得していましたが、今ではそれらにアクセスできません。例: 私は、FooterTemplate にいくつかの ImageButton を持っています。FormView 内のコントロールに関しては、それらをスムーズに取得できます!!! すべてのコントロールを null にします。テンプレートごとに異なる名前を付ける必要があると思いますか? これは、このノイズの原因となっているテーブルについて考えさせられます!
DataBound イベントを使用して、特定のモードをチェックしています! 何か案は?ありがとうございました。
[更新しました]
これは機能しています
しかし、これはどういうわけかいいえ
asp.net - ASP.NETFormViewを新しく挿入されたレコードに自動的にバインドします
InsertItemTemplateを介して挿入したばかりのレコードでFormViewを自動的にデフォルトで読み取り専用モードにすることは可能ですか?これは、FormViewに自然にもたらされるはずの何かのようです。
asp.net - FormView/ObjectDataSource コントロールを使用して挿入した後、挿入された ID (またはオブジェクト) を取得するにはどうすればよいですか?
次のパターンに大まかに適合する一連のクラスがあります。
挿入が成功すると、Insert メソッドは、渡された CustomerInfo オブジェクトの Id プロパティを設定します。私はこれらのクラスをいくつかの場所で使用しており、それらを変更したいと考えています。現在、レコードを挿入および更新するための ASP.NET ページの記述を試しています。現在、ObjectDataSource および FormView コントロールを使用しています。
レコードを正常に挿入および更新できます。挿入が成功した後、FormView のモードを挿入から編集に切り替えたいと思います。私の最初の試みは、ItemInserted イベントでモードを切り替えることでした。
もちろん、これはうまくいきませんでした。もちろん、挿入時に設定されないIDにQueryStringParameterを使用していました。
そこで、ObjectDataSource の Selecting イベント中に InputParameters を手動で設定することに切り替えました。これに関する問題は、新しく挿入されたレコードの ID を知る必要があることですが、これを取得する良い方法が見つかりません。
Insert メソッドの戻り値にアクセスできること、および ItemInserted イベントの out パラメータにアクセスできることは理解しています。もちろん、私のメソッドはこれらのメソッドのいずれかを使用して ID を返しません。とにかく、挿入が完了した後に挿入された ID または CustomerInfo オブジェクトにアクセスする方法が見つかりません。
私ができる最善の方法は、CustomerInfo オブジェクトを ObjectDataSource の Inserting イベントに保存することです。
これはこれを行う奇妙な方法のように感じます。これを行うためのより良い方法があるに違いないと考えており、それを見ると自分を蹴ります。何か案は?
asp.net - Insert メソッドが起動した後、FormView がユーザーの入力した値をクリアしないようにするにはどうすればよいですか?
私は、FormViews を Microsoft が私に期待する方法で動作させることに約 1 日苦労してきました。
ObjectDataSource.Inserting イベント ハンドラーで e.Exception と e.ReturnValue をキャッチできます。また、e.ObjectInstance をチェックすることで、ObjectDataSource.ObjectDisposing のオブジェクトの他のプロパティをチートしてチェックすることもできます。ハンドラーは ObjectDisposing ハンドラーの後に実行されるため、問題が見つかった場合でも、それに対応して FormView で e.KeepInInsertMode を true にする時間があります。
私の問題は、ユーザーが挿入フォームに入力した値がクリアされているように見えることです。
では、Insert メソッドが起動した後に FormView がクリアされないようにするにはどうすればよいですか?
(ASP.NET + VB を使用)
ここに自分のコードを投稿してもあまり効果がないと思います。コードを変更して、機密のビジネス ロジックを削除する必要があるので、ここでは省略します。
編集:
私は一時的で確かにひどくぎこちない解決策を見つけました(誰も問題の本当の解決策を見つけられない場合に備えて)。
次のように定義されたページ変数があります。
そして、 ItemInserted ハンドラーで次のことを行います
次に、各コントロールで、そのコントロールのデータバインディングイベントに次のようなものがあります。
これの効果は、ASP.NET が FormView を既定の (空白の) テンプレートにバインドした後で、値を送信された値に戻すことです。
それほどひどい解決策を見つけるのを手伝ってください。:)
asp.net - asp.net ラベルのテキストを別のコントロールの値に設定するにはどうすればよいですか?
2 つのラベルのテキストを、ページ上の FormView にある値に設定したいと思います (そのデータは SQLDataSource から取得されます)。
これを行う最善の方法は何ですか?FormView の DataBound イベントを使用して、ラベル テキストを FormView のフィールドの値に設定するか、SQLDataSource Selected イベントを使用して、クエリによって取得された値にラベルを設定することを考えています。Page_Load イベントを FormView と組み合わせて使用できますか?
FormView は 2 つの値の一方のみを表示しますが、もう一方の値は SQLDataSource によって取得されます。
私はこれらのコントロールの背後にあるデータ構造へのアクセスに慣れていませんが、データがそこにあると考えているので、同じ SQL クエリを 2 回実行するのではなく、それを使用したほうがよいでしょう。
私の質問は、どのイベントを使用し、どのコントロールからデータにアクセスし、そのコントロールからデータにどのようにアクセスするかです。