我想在我的用戶控件中的控件執行雙向數據綁定,該控件位於FormView模板內:嵌套在FormView中的用戶控件中的控件的雙向數據綁定不起作用
<asp:ObjectDataSource runat="server" ID="ObjectDataSource"
TypeName="WebApplication1.Data" SelectMethod="GetItem" UpdateMethod="UpdateItem">
</asp:ObjectDataSource>
<asp:FormView runat="server" ID="FormView" DataSourceID="ObjectDataSource">
<ItemTemplate>
<uc:WebUserControl1 runat="server"></uc:WebUserControl1>
</ItemTemplate>
<EditItemTemplate>
<uc:WebUserControl1 runat="server"></uc:WebUserControl1>
</EditItemTemplate>
</asp:FormView>
的web用戶控件:當FormView控件在View模式,但是當我切換到編輯模式,當在FormView控件調用UpdateItem
,綁定丟失
<%@ Control Language="C#" ... %>
<asp:TextBox runat="server" ID="TitleTextBox" Text='<%# Bind("Title") %>'>
</asp:TextBox>
的結合工作正常。我知道這是因爲FormView試圖調用ObjectDataSource上沒有名爲'Title'的參數的更新方法。
我試圖通過實現IBindableTemplate
來加載我的用戶控件中的控件直接到模板中(就像我已經聲明地輸入它們一樣)來解決這個問題。但是,在編輯模式下調用UpdateItem
時,傳遞到模板的ExtractValues
方法的container
不再包含TextBox。它在視圖模式下做到了!
我發現了一些關於這個問題的問題,但他們相當過時,他們沒有提供任何幫助我解決這個問題的答案。
您認爲我能解決這個問題嗎?它似乎是這樣一個簡單的要求,但顯然它只是...
歡迎來到Stack Overflow。這似乎不是OP問題的答案 – 2012-12-04 23:08:01
這可能是事實,但它是相關的。我發現這個答案簡單而有用。 – 2017-02-28 14:27:54