わかりました。基本的な問題のように思えるのは、私をより良くすることであり、Google での多大な努力が不足しています。適切な質問をするのに十分な理解が得られていないのかもしれません。
これが私の問題です:
必要に応じて承認/編集するためのより高いレベルのアクセスのために、各ページに以前のフォームからのエントリを表示するフォームビュー コントロール、または一連のコントロールがあります。したがって、フォーム「B」では、フォーム「A」のコンテンツと「B」の空白部分に記入する必要があります...したがって、ページ上の2つの別々のビュー..「A」と「B」
問題は、モードを変更して前のエントリを編集するときです。そのため、ReadOnly から Edit に変更するボタンまたはデフォルトのリンクボタンがある場合、バインドが失われるだけでなく、ポストバック時に問題が発生したことを打ち消すためのあらゆる努力が失われます。
長さのため、一部のコードを省略しています
私のボタンでは、 FormView2.ChangeMode(FormViewMode.Edit) を使用してビューを変更していますが、デフォルトのリンクボタンは変更していません
リストボックスのバインディングは次のように設定されています。
If Not Page.IsPostBack Then
'pulling bindings from table
cmd = New OleDbCommand("SELECT * FROM mslToi", objCon)
objReader = cmd.ExecuteReader
lst1.DataValueField = "listing"
lst1.DataTextField = "listing"
lst1.DataSource = objReader
lst1.DataBind()
'pre-selecting input data from form "A"
cmd = New OleDbCommand("SELECT [type_of_injury] FROM S2childToi WHERE ID = " & qs & "", objCon)
objReader = cmd.ExecuteReader
Do While objReader.Read
For Each y As ListItem In lst1.Items
If y.Text = objReader.Item(0) Then
y.Selected = True
End If
Next
Loop
end if
ページ読み込みイベントで。
要求された FORMVIEW のマークアップ
<asp:FormView ID="FormView2" runat="server"
Width="100%" DataSourceID="AccessDataSource4">
<ItemTemplate>
</ItemTemplate>
<EditItemTemplate>
</EditItemTemplate>
</asp:FormView>
'''これは、要求どおりのフォームビュー マークアップの短くて甘いものです。また、どのモードで開始しても、モードを変更しても同じ結果になることに注意してください」
これまでのところ問題なく動作しています... ビューを編集に変更すると、リストボックスがバインドされていないように見えます (コントロールは表示されますが、コンテンツはありません)。私の考えでは、明らかにポストバック イベントからコードをブロックしていると思います (これには理由があります)。このコードを (If Not Page.IsPostBack なしで) 使用して選択とバインディングを強制することができますが、ポストバックするたびにテーブル データにデフォルト設定されますが、これは起こり得ません。選択。したがって、ユーザー入力が切り捨てられます。短くて甘い。
うまく説明できなくて申し訳ありませんが、アドバイスをいただければ幸いです。ご不明な点がございましたら、または郵便番号をお知らせください。