我使用的是AJAX TabContainer,並且在綁定到ObjectDataSource的每個選項卡中都有一個asp GridView。 ObjectDataSource基於所選的選項卡返回不同的對象(TabContainer AutoPostBack =「True」)。只有在IsPostBack因爲在第一次加載時TabContainer不可見而在後面的代碼中根據TabContainer Load中選擇的選項卡將ObjectDataSource綁定到GridView。我不綁定任何其他地方的GridView。 GridView中的字段是Eval而不是Bind,因爲這些參數是以二進制方式添加到ObjectDataSource的。.NET GridView更新,e.OldValues爲空
這是批量更新GridView,其中所有字段均可編輯。當我更新GridView時,我無法看到e.OldValues。如果GridView中的字段設置爲綁定,我可以檢索e.NewValues螺母e.OldValues仍然是空的...
有誰知道交易是什麼?
<asp:ObjectDataSource ID="odsEquipment" runat="server" TypeName="EquipmentDB" SelectMethod="GetEquipment" SortParameterName="sortExpression" UpdateMethod="UpdateEquipment">
<SelectParameters>
--Params
</SelectParameters>
<UpdateParameters>
--Params
</UpdateParameters>
</asp:ObjectDataSource>
<asp:TabContainer ID="tcDisciplines" runat="server" CssClass="ajax_tabController" ScrollBars="Horizontal" AutoPostBack="True">
--Tabs and GridViews with no properties
代碼背後:
Protected Sub tcDisciplines_Load(sender As Object, e As EventArgs) Handles tcDisciplines.Load
If IsPostBack Then
For Each discipline In disciplineList
tcDisciplines.Tabs(discipline.ID).HeaderText = discipline.Discipline
tcDisciplines.Tabs(discipline.ID).TabIndex = discipline.ID
Dim gv As GridView = TryCast(tcDisciplines.Tabs(discipline.ID).Controls(0).FindControl("gv" + discipline.Abbr), GridView)
gv.Visible = False
If tcDisciplines.ActiveTabIndex = discipline.ID Then
gv.Visible = True
'Set properties
End If
Next
End If
End Sub