asp.net Title Labels not populating from variables on page load -
i have declared variables , populated dropdownlists in asp. on pageload labels aren't populating, populate once change values in dropdowns. variables working labels, not on page load.
protected sub page_load(sender object, e eventargs) handles me.load dim strdatacollection string = ddldatacollection.text dim stryear string = ddlyear.text dim strsubject string = ddlsubject.text dim strteachinggroup string = ddlteachinggroup.text dim strsubgroup string = ddlsubgroup.selecteditem.text lblheaderyear.text = "year " & stryear lblheaderdatacollection.text = " " & strdatacollection lblheadersubject.text = " " & strsubject lblheaderteachinggroup.text = " " & strteachinggroup lblheadersubroup.text = " " & strsubgroup if strteachinggroup = "select all" lblheaderteachinggroup.visible = false else lblheaderteachinggroup.visible = true end if if strsubgroup = "select all" lblheadersubroup.visible = false else lblheadersubroup.visible = true end if end sub the asp labels is:
<div class="centeronpage"> <asp:label id="lblheaderyear" runat="server" text="" cssclass="header"></asp:label> <asp:label id="lblheaderdatacollection" runat="server" text="" cssclass="header"></asp:label> <asp:label id="lblheadersubject" runat="server" text="" cssclass="header"></asp:label> <asp:label id="lblheaderteachinggroup" runat="server" text="" cssclass="header"></asp:label> <asp:label id="lblheadersubroup" runat="server" text="" cssclass="header"></asp:label> </div> edit answer
i created following prerender suggested below. included onprerender="page_prerender" in 1 of label elements , seemed trigger prerender.
protected sub page_prerender(sender object, e eventargs) dim strdatacollection string = ddldatacollection.text dim stryear string = ddlyear.text dim strsubject string = ddlsubject.text dim strteachinggroup string = ddlteachinggroup.text dim strsubgroup string = ddlsubgroup.selecteditem.text lblheaderyear.text = "year " & stryear lblheaderdatacollection.text = " " & strdatacollection lblheadersubject.text = " " & strsubject lblheaderteachinggroup.text = " " & strteachinggroup lblheadersubroup.text = " " & strsubgroup end sub edit - ddl binding
<asp:label id="lblheaderyear" runat="server" text="" cssclass="header" onprerender="page_prerender"></asp:label> <asp:label id="lblheaderdatacollection" runat="server" text="" cssclass="header"></asp:label> <asp:label id="lblheadersubject" runat="server" text="" cssclass="header"></asp:label> <asp:label id="lblheaderteachinggroup" runat="server" text="" cssclass="header"></asp:label> <asp:label id="lblheadersubroup" runat="server" text="" cssclass="header"></asp:label>
i've not checked it, think problem page_load time, there's no selectditem. suggest trying bind labels in prerender event, dropdowns should have selected items (the first 1 if didn't specify else)
edit :
you should prerender event :
protected sub page_prerender(sender object, e eventargs) handles me.load dim strdatacollection string = ddldatacollection.text dim stryear string = ddlyear.text dim strsubject string = ddlsubject.text dim strteachinggroup string = ddlteachinggroup.text dim strsubgroup string = ddlsubgroup.selecteditem.text lblheaderyear.text = "year " & stryear lblheaderdatacollection.text = " " & strdatacollection lblheadersubject.text = " " & strsubject lblheaderteachinggroup.text = " " & strteachinggroup lblheadersubroup.text = " " & strsubgroup end sub note "handles me.load" after prerender event declaration. how override page's prerender event , pageload. should remove prerender event on labels in aspx page.
please note can make use of autoeventwireup page attribute :
<%@ page language="c#" autoeventwireup="true" codefile="default.aspx.cs" inherits="_default" %> this allow you, page events only, tell .net automatically override page events if method same name defined in codebehind. in other words, you'd able remove "handles me.xxx" after event declaration.
Comments
Post a Comment