2010-05-10 4 views
0

donc j'avoir cette travail en C#, pourquoi il ne fonctionne pas dans VBdropdownlist de liaison de la fonction dans le code derrière ASPX vb

public string[] CustomizedRoles() 
{ 
    int length = Roles.GetAllRoles().Length; 
    string[] arrRoles=Roles.GetAllRoles(); 
    string[] customizedRoles= new string[length+1]; 
    customizedRoles[0] = ""; 
    for (int i = 1; i < length+1; i++) 
    { 
     customizedRoles[i] = arrRoles[i-1]; 
    } 

    return customizedRoles; 
} 

asp: GridView ....

asp: DropDownList ID = "ddlOwnerRolesUpdate" runat = "server" DataSource = "<% # CustomizedRoles()%>" height = "25px" width = "177px" SelectedValue = '<% # Bind ("propriétaire")%>'>

où est "Propriétaire" est une valeur de données provenant d'une source de données pour la grille

cela fonctionne très bien en C#.

en Vb avec le même ASPX et ce code derrière ne fonctionne pas.

Public Function CustomizedRoles() As String() 
    Dim length As Integer = Roles.GetAllRoles().Length 
    Dim arrRoles As String() = Roles.GetAllRoles() 
    Dim _customizedRoles As String() = New String(length + 1) {} 
    _customizedRoles(0) = " " 

    For index As Integer = 1 To length 
     _customizedRoles(index) = arrRoles(index - 1) 
    Next 
    Return _customizedRoles 
End Function 

quelqu'un peut me montrer comment lier tableau de chaînes à un dropdownlist de ASPX code derrière en VB

Répondre

0

J'ai trouvé que VB.NET ne peut pas lier les valeurs NULL à DROPDOWNLIST mon code avait une erreur qui génèrent une valeur nulle en raison de l'initialisation Array: Dim _customizedRoles As String() = New String (longueur + 1) {} // il doit être longueur que

après fixation cela, il fonctionne très bien, juste un indice, C# faire plus de choses automatiques que VB, alors ne comptez pas que VB fera des choses que C# faites-le par défaut.

Public Function CustomizedRoles() As String() 
    Dim length As Integer = Roles.GetAllRoles().Length 
    Dim arrRoles As String() = Roles.GetAllRoles() 
    Dim _customizedRoles As String() = New String(length) {} 
    _customizedRoles(0) = " " 
    For index As Integer = 1 To length 
     _customizedRoles(index) = arrRoles(index - 1) 
    Next 
    Return _customizedRoles 
End Function 
Questions connexes