好吧,看起来一个基本的问题是让我变得更好,而我在谷歌上的广泛努力却失败了。也许我不够了解,无法提出正确的问题。
这是我的问题:
我有一个表单视图控件,或者更确切地说是其中的一系列控件,每个页面都显示以前表单的条目,以便根据需要进行更高级别的批准/编辑。所以,在表格“B”上,我要填写表格“A”的内容和“B”的空白部分......所以页面上有两个单独的视图......“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>
'''这是所要求的 formview 标记的简短和甜蜜。还可能值得注意的是,我从什么模式开始并不重要,如果我改变模式它等于相同的结果'''
到目前为止效果很好......当我将视图更改为编辑时,我的列表框似乎不再被绑定(控件出现但没有内容)。我的想法是,显然我正在阻止回发事件中的代码(我有这个原因)。我可以使用此代码(没有 If Not Page.IsPostBack)来强制选择和绑定,但是每当我回发它们时,它们都会默认为表数据,这是不可能发生的,每个列表框都需要回发,以便我可以检查某个选择。所以发生的事情是用户输入被打败了。短而甜。
很抱歉,我无法更好地解释,非常感谢任何建议。如果我可以回答任何问题或发布代码,请告诉我。