В моей форме веб-приложения asp.net и vb.net; выпадающий список для Главный контакт содержит список имен. Этот список отличается для разных пользователей, которые вошли в приложение.Как установить текущий пользователь в качестве значения по умолчанию в выпадающем списке ASP.Net и приложение VB.Net
Данные заполняются путем выбора запроса из полей базы данных. (Выберите запрос извлекает данные по Innerjoining два tables- таблицы EmployerUser таблицы & пользователя. Первичный ключ таблицы пользователя является ID, который является внешним ключом в таблице EmployerUser имени Идентификатор_пользователь.)
В переднем конце ASP.net кодирование
<div class="form-element">
<label>
Main contact (required)
</label>
<asp:DropDownList ID="comMainContact" runat="server" CssClass="chosen" EnableViewState="True"
DataTextField="name" DataValueField="id" />
</div>
В заднем конце VB.net кодирования для выпадающего списка
comMainContact.DataSource = LocalHelper.CachedEmployerUserList(LocalHelper.UserEmployerID)
comMainContact.DataBind()
Public Shared Function CachedEmployerUserList(ByVal employerid As Integer) As DataTable
Dim CacheName As String = "helper_cachedemployeruserlist_" & CStr(employerid)
Dim DataList As DataTable = Nothing
Try
DataList = HttpContext.Current.Cache.Item(CacheName)
Catch
End Try
If DataList Is Nothing Then
DataList = Core.DB.GetData("SELECT [User].id AS 'id', [User].name + ' ' + [User].Surname AS 'name' FROM EmployerUser INNER JOIN [User] ON EmployerUser.userid = [User].id WHERE [User].deleted = 0 AND [User].active = 1 AND [User].emailverified IS NOT NULL AND EmployerUser.employerid = @employerid ORDER BY [User].surname, [User].name", Core.DB.SIP("employerid", employerid))
HttpContext.Current.Cache.Insert(CacheName, DataList, Nothing, DateAdd(DateInterval.Minute, 1, Now), System.Web.Caching.Cache.NoSlidingExpiration)
End If
Dim FinalList As DataTable = DataList.Copy
Return FinalList
End Function
проблема заключается в том: Это кодирование не устанавливает значение по умолчанию для основного контакта. Я хочу установить значение по умолчанию в выпадающем списке для основного контакта. В большинстве случаев значением по умолчанию является сам пользователь. Таким образом, было бы идеально, если текущий пользователь задан как значение по умолчанию в раскрывающемся списке, а также пользователь может изменить значение из выпадающего списка, если сам не является основным контактом.
Как это сделать.
Я могу отдельно определить, кто является в настоящее время вошедшим в систему пользователем.
Кодирование для определения текущего пользователя (Current вошедшего в систему пользователя может быть определено с помощью запроса на выборку, который извлекает данные из таблицы пользователей.)
Public Class User
Public Shared Function UserFullName(ByVal User As Mypeoplebiz.User, Optional ByVal Title As Boolean = True) As String
If Title Then
Return Core.DB.GetString("SELECT name FROM Title WHERE id = @titleid", Core.DB.SIP("titleid", User.TitleID)) & " " & User.Name & " " & User.Surname
Else
Return User.Name & " " & User.Surname
End If
End Function
End Class
Как я могу установить текущего пользователя устанавливается как значение по умолчанию в выпадающего списка и дать пользователю возможность изменить значение из выпадающего списка.
Цените свою помощь.
Благодаря
Спасибо за ответ. См. Мою отредактированную часть в вопросе. пожалуйста, направляйте меня. Я очень слабый на vb.net и asp.net. – Bashabi
Вам нужно научиться отлаживать на этом этапе. Все, что вы пытаетесь установить, поскольку SelectedValue должно существовать в выпадающем списке. Поэтому, если вы пытаетесь установить SelectedValue на «Bill Gates», выпадающий список должен иметь значение «Bill Gates» или он вернет ошибку. –
Я могу заверить вас. Я не устанавливаю выбранный предмет в чем-то сумасшедшем. вы видите запрос, чтобы убедиться. Я определенно делаю что-то неправильно. Но в процессе (который я прошу исправить исправление) определенно не в запросе выбора. – Bashabi