Я знаю, что предмет может быть немного странным, но я не был уверен, как точно описать мою цель
Я пытаюсь сделать некоторые разрешения на основе ролей в системе управления контентом. Лучший способ сделать это - вытащить список ролей из базы данных и поместить их в CheckBoxList. Оттуда я сохраняю строку проверенных значений через запятую в деталях страницы базы данных. Наконец, когда страница возвращается обратно, я проверяю, есть ли у текущего пользователя разрешение, вытаскивая строку через запятую и разделяя ее на String (), и перебирая значения.
Меня беспокоит то, что когда я перебираю CheckBoxList и преобразовываю значения в строку, метод loop добавляет запятую в конец строки ... Затем мне нужно удалить запятую перед сохранением в базы данных.
У меня вопрос: есть ли лучший способ сделать это, чтобы мне не приходилось возвращаться в строку и убирать запятую перед запоминанием?
''# this is to get all selected items from
''# a checkboxlist and add it to a string
''# the reason for this is to insert the final string
''# into a database for future retrieval.
Dim i As Integer
Dim sb As StringBuilder = New StringBuilder()
For i = 0 To CheckBoxList1.Items.Count - 1
If CheckBoxList1.Items(i).Selected Then
sb.Append(CheckBoxList1.Items(i).Value & ",")
End If
Next
''# now I want to save the string to the database
''# so I first have to strip the comma at the end
Dim str As String = sb.ToString.Trim(",")
''# Then save str to the database
''# I have now retrieved the string from the
''# database and I need to now add it to a One Dimensional String()
Dim str_arr() As String = Split(str, ",")
For Each s As String In str_arr
''# testing purposes only
Response.Write(s & " -</br>")
''# If User.IsInRole(s) Then
''# Do Stuff
''# End If
Next