Show hide div using codebehind

asp.net, drop-down-menu

Solution

Make the div

runat="server" 

and do

if (lstFilePrefix1.SelectedValue=="Prefix2")
{
    int TotalRows = this.BindList(1);
    this.Prepare_Pager(TotalRows);
    data.Style["display"] = "block";
}

Your method isn't working because the javascript is being rendered in the top of the body tag, before the div is rendered. You'd have to include code to tell the javascript to wait for the DOM to be completely ready to take on your request, which would probably be easiest to do with jQuery.

Problem

I have a `DropDownList` for which I am trying to show a `div` `OnSelectedIndexChanged` but it says `OBJECT REQUIRED`. I am binding the `DataList` in that div: aspx: ``` <asp:DropDownList runat="server" ID="lstFilePrefix1" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" > <asp:ListItem Text="Prefix1" Value="Prefix1" /> <asp:ListItem Text="Prefix2" Value="Prefix2" /> <asp:ListItem Text="Prefix3" Value="Prefix3" /> <asp:ListItem Text="Prefix1 and Prefix2" Value="Prefix1 and Prefix2" /> <asp:ListItem Text="Prefix2 and Prefix3" Value="Prefix2 and Prefix3" /> </asp:DropDownList> <asp:DataList ID="DataList1" runat="server" RepeatColumns="4" CssClass="datalist1" OnItemDataBound="SOMENAMEItemBound" CellSpacing="6" onselectedindexchanged="DataList1_SelectedIndexChanged" HorizontalAlign="Center" Width="500px"> ``` code behind: ``` protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { if (lstFilePrefix1.SelectedItem.Text=="Prefix2") { int TotalRows = this.BindList(1); this.Prepare_Pager(TotalRows); Page.ClientScript.RegisterClientScriptBlock(GetType(), "JScript1", "ShowDiv('data');", true); } } ``` javascript: ``` function ShowDiv(obj) { var dataDiv = document.getElementById(obj); dataDiv.style.display = "block"; } ``` What am I doing wrong?

Original source