|
code
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Problem with FindControlTabStrip and MultiPage. It works great. Except for anything that's actually put onto one of the tabs. Controls on the tabs render fine, but their postback events and postback data changes just don't happen. I've been working a seriously kludgy thing to get around this and manually raise postback data and event stuff, but I shouldn't have to be doing that. I have the source code for the MS IE controls, and they don't do anything like that. I did some comparisons in debug mode, and I found a difference, but I don't understand the significance of it. If I type in the ID of a control that's on one of the tabs, all of its info shows up, in both my control and theirs. But if I do FindControl(controlID), the control on the MS MultiPage is seen, and the one on mine returns Nothing. Here's a partial listing. btnInside is on a Tab in my TabControl, and btnDelItem is on a PageView in an MS MultiPage control: ?btnInside {System.Web.UI.WebControls.Button} BindingContainer: {ASP.WebForm4_aspx} CausesValidation: True ClientID: "btnInside" CommandArgument: "" CommandName: "" Enabled: True EnableViewState: True ID: "btnInside" NamingContainer: {ASP.WebForm4_aspx} Page: {ASP.WebForm4_aspx} Parent: {MyStuff.WebPL.Tab} Site: Nothing TemplateSourceDirectory: "/LisaTest" Text: "btnInside" UniqueID: "btnInside" Visible: True ?FindControl("btnInside") Nothing ?btnDelItem {System.Web.UI.WebControls.Button} BindingContainer: {ASP.default_aspx} CausesValidation: True ClientID: "btnDelItem" CommandArgument: "" CommandName: "" Enabled: True EnableViewState: True ID: "btnDelItem" NamingContainer: {ASP.default_aspx} Page: {ASP.default_aspx} Parent: {Microsoft.Web.UI.WebControls.PageView} Site: Nothing TemplateSourceDirectory: "/QMI" Text: "Delete" UniqueID: "btnDelItem" Visible: True ?FindControl("btnDelItem") {System.Web.UI.WebControls.Button} [System.Web.UI.WebControls.Button]: {System.Web.UI.WebControls.Button} BindingContainer: {ASP.default_aspx} ClientID: "btnDelItem" EnableViewState: True ID: "btnDelItem" NamingContainer: {ASP.default_aspx} Page: {ASP.default_aspx} Parent: {Microsoft.Web.UI.WebControls.PageView} Site: Nothing TemplateSourceDirectory: "/QMI" UniqueID: "btnDelItem" Visible: True Neither the PageView or the Tab have an ID set. I'm sure that the difference when I try FindControl has to be related to the problem I'm having, but I just keep coming up with nothing. If anyone can help, I'd be so grateful. Thanks, Lisa Hello Lisa
> Controls on the tabs render fine, but their postback events and You may try to check in debug mode the "__EVENTTARGET" hidden input value> postback data changes just don't happen. (available via request params) against your control's unique id. Obviously they don't match and WebForms can't find control to call the RaisePostBackEvent method. > I did some comparisons in debug mode, and I found a difference, but I Usually problems with FindControl method occur due to NamingContainer or> don't understand the significance of it. If I type in the ID of a > control that's on one of the tabs, all of its info shows up, in both my > control and theirs. But if I do FindControl(controlID), the control on > the MS MultiPage is seen, and the one on mine returns Nothing. unique id issues (for example if a control inherits from the INamingContainer interface and one of its child controls also inherits from this interface the FindControl method of the parent 'NamingContainer' control will not find controls nested within its child 'NamingContainer' control). But according to the extract from your debug information it looks like both naming containers and unique ids are ok. Best regards, Sergey Show quoteHide quote > > Here's a partial listing. btnInside is on a Tab in my TabControl, and > btnDelItem is on a PageView in an MS MultiPage control: > > ?btnInside > {System.Web.UI.WebControls.Button} > BindingContainer: {ASP.WebForm4_aspx} > CausesValidation: True > ClientID: "btnInside" > CommandArgument: "" > CommandName: "" > Enabled: True > EnableViewState: True > ID: "btnInside" > NamingContainer: {ASP.WebForm4_aspx} > Page: {ASP.WebForm4_aspx} > Parent: {MyStuff.WebPL.Tab} > Site: Nothing > TemplateSourceDirectory: "/LisaTest" > Text: "btnInside" > UniqueID: "btnInside" > Visible: True > > ?FindControl("btnInside") > Nothing > > ?btnDelItem > {System.Web.UI.WebControls.Button} > BindingContainer: {ASP.default_aspx} > CausesValidation: True > ClientID: "btnDelItem" > CommandArgument: "" > CommandName: "" > Enabled: True > EnableViewState: True > ID: "btnDelItem" > NamingContainer: {ASP.default_aspx} > Page: {ASP.default_aspx} > Parent: {Microsoft.Web.UI.WebControls.PageView} > Site: Nothing > TemplateSourceDirectory: "/QMI" > Text: "Delete" > UniqueID: "btnDelItem" > Visible: True > > ?FindControl("btnDelItem") > {System.Web.UI.WebControls.Button} > [System.Web.UI.WebControls.Button]: > {System.Web.UI.WebControls.Button} > BindingContainer: {ASP.default_aspx} > ClientID: "btnDelItem" > EnableViewState: True > ID: "btnDelItem" > NamingContainer: {ASP.default_aspx} > Page: {ASP.default_aspx} > Parent: {Microsoft.Web.UI.WebControls.PageView} > Site: Nothing > TemplateSourceDirectory: "/QMI" > UniqueID: "btnDelItem" > Visible: True > > Neither the PageView or the Tab have an ID set. I'm sure that the > difference when I try FindControl has to be related to the problem I'm > having, but I just keep coming up with nothing. > > If anyone can help, I'd be so grateful. > > Thanks, > Lisa >
Click checkbox's label - javascript onclick gets called twice
Changing the document.title from a user control Validation not working in paging Using a Stylesheet in a User Control The nowrap Property of TD Tags Text control - password Referencing Datagrid Rows while Datagrid is Sorted Handling Events for Dynamically Created Controls File uploaded to server....How can I delete it? error messages and focus |
|||||||||||||||||||||||