Afficher, de masquer div en utilisant le code-behind

J'ai un DropDownList pour laquelle je suis en train de montrer un div OnSelectedIndexChanged, mais il dit OBJECT REQUIRED.

Je suis de liaison de la DataList dans cette 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 derrière:

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";
}

Ce que je fais mal?

  • Est la div à l'intérieur d'un conteneur de dénomination? Veuillez consulter le code source de la page et vérifier si il y a un élément avec l'id 'données'.
  • Pourquoi êtes-vous à l'aide de JS pour afficher le div en utilisant AutoPostBack? Mettre le DataList dans un panneau ou faire de la div runat="server", et il suffit d'ajouter un style d'affichage de la dynamiclly.
InformationsquelleAutor ravi | 2009-11-16