我可以在aspx页面的page_load事件之前调用usercontrol的page_load事件吗?问题很简单。我可以在aspx页面的page_load之前调用usercontrol的page_load吗?编辑孩子的page_load事件不能在父母的page_load之前调用。我有一个名为just4test的aspx类用于测试目的。它的aspx代码是:如您所见,它正在使用用户控制文件。它的代码背面是:protectedvoidPage_Load(objectsender,EventArgse){if(Page.IsPostBack){lcont1.my_tv_SelectedNodeChanged(sender,e);}}现在用户控件是:publicpartialclasslcont:System.Web.UI.UserControl{sql_consq=newsql_con();protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){bind_data();}}publicvoidmytry(){Console.WriteLine("helo");}publicvoidbind_data(){main_catmcobj=newmain_cat();列表mclist=newList();mclist=mcobj.get_mcatlist();填充树(mclist);}publicvoidpopulatetree(Listmytnode){TreeNodeparentnode=null;foreach(mytnode中的main_catmc){parentnode=newTreeNode(mc.Cname,mc.Cid.ToString());foreach(sub_catscinmc.scl){TreeNodecnode=newTreeNode(sc.PRODUCT,sc.SID.ToString());parentnode.ChildNodes.Add(cnode);}parentnode.Collapse();my_tv.Nodes.Add(父节点);}}publicvoidmy_tv_SelectedNodeChanged(objectsender,EventArgse){TreeViewtv=senderas树视图;//TreeViewtv=newTreeView();varselectedN=tv.SelectedNode;if(selectedN.Parent!=null){varid=tv.SelectedNode.Value;varname=tv.SelectedNode.Text;//会话["mySvar"]=id;ScriptManager.RegisterStartupScript(this,this.GetType(),"neting","show("+id+")",true);}else{//Response.Redirect("test.aspx");我需要调用函数my_tv_SelectedNodeChanged(sender,e);在just4test页面的page_load之前的用户控件中,我已经这样做了,但是当我运行程序时,它说你调用的对象是空的。我该怎么办?Page_Load没有,但OnInit发生在之前。根据您的实际问题,您可以将逻辑移到那里。或者在父页面Page_Load事件中执行任何其他操作之前调用User控件的公共方法。如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
