привязка выпадающего списка из функции в коде позади aspx vb - PullRequest
0 голосов
/ 11 мая 2010

так у меня это работает в C #, почему это не работает в 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;
}

жерех: GridView ....

asp: DropDownList ID = "ddlOwnerRolesUpdate" runat = "server" DataSource = "<% # CustomizedRoles ()%>" Height = "25px" Width = "177px" SelectedValue = '<% # Bind ("Owner") %> '>

где "Владелец" - это значение данных, поступающее из источника данных для сетки

в C # работает нормально.

в Vb с тем же aspx, и этот код не работает.

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

может кто-нибудь показать мне, как связать массив строк с выпадающим списком из aspx для кода в VB

1 Ответ

0 голосов
/ 20 мая 2010

Я обнаружил, что VB.NET не может связать нулевые значения с выпадающим списком. Мой код содержит ошибку, которая генерирует нулевое значение из-за инициализации массива: Dim _customizedRoles As String () = Новая строка (длина + 1 ) {} // длина должна быть только

после исправления это работает нормально, просто подсказка, C # делает больше автоматических вещей, чем VB, поэтому не считайте, что VB будет делать то, что C # делает по умолчанию.

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
...