Использование значения текстового поля в качестве параметра источника данных для chklistbox

У меня есть панель входа в систему с текстовым полем для userloginID. Когда нажимается кнопка входа в систему, предполагается, что источник данных принимает значение в текстовом поле и предоставляет отфильтрованные данные в chklistbox в зависимости от значения в текстовом поле userloginID.

Я подключаю источник данных к chklistbox только при нажатии кнопки входа в систему, но приложение все равно перестает работать со следующим сообщением:

Свойство Type параметра UserLogin нельзя задать, если задано свойство DbType. Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительных сведений об ошибке и ее происхождении в коде.

Сведения об исключении: System.InvalidOperationException: свойство Type параметра UserLogin не может быть установлено, если задано свойство DbType.

Ошибка источника:

Необработанное исключение было создано во время выполнения текущего веб-запроса. Информацию о происхождении и местонахождении исключения можно определить с помощью трассировки стека исключений ниже.

Трассировки стека:

[InvalidOperationException: свойство Type параметра UserLogin не может быть установлено, если задано свойство DbType.]
System.Web.UI.WebControls.Parameter.GetValue (значение объекта, логическое значение ignoreNullableTypeChanges) +1751307
System. Web.UI.WebControls.ParameterCollection.GetValues ​​(контекст HttpContext, элемент управления) +301
System.Web.UI.WebControls.SqlDataSourceView.InitializeParameters (команда DbCommand, параметры ParameterCollection, список исключений IDictionary) +264I System. WebControls.SqlDataSourceView.ExecuteSelect (аргументы DataSourceSelectArguments) +472
System.Web.UI.WebControls.ListControl.OnDataBinding (EventArgs e) +95
System.Web.UI.WebControls.ListControl.PerformSelect () +34 br> System.Web.UI.WebControls.BaseDataBoundControl.DataBind () +73
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound () +82
System.Web.UI.WebControls.BaseDataBoundControl.OnPreRender ( EventArgs e) +22 System.Web.UI.WebControls.Lis tControl.OnPreRender (EventArgs e) +18 System.Web.UI.WebControls.CheckBoxList.OnPreRender (EventArgs e) +20 System.Web.UI.Control.PreRenderRecursiveInternal () +80
System.Web.UI.Control. PreRenderRecursiveInternal () +171
System.Web.UI.Control.PreRenderRecursiveInternal () +171
System.Web.UI.Control.PreRenderRecursiveInternal () +171
System.Web.UI.Page.ProcessRequestMain ( Логическое includeStagesBeforeAsyncPoint, логическое includeStagesAfterAsyncPoint) +842

Вот код кнопки входа в систему (onclick):

Protected Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
    If btnLogin.Text = "Login" Then
        btnLogin.Text = "Logout"
        PanelLogin.BackColor = Drawing.Color.LightGreen
        Me.CurrentUserLogin = Me.txtUserId.Text
        Me.chkLstClientcodes.DataBind()
        txtStatus.Text = "Logqed in as Andrew McLintock"
        'LoginSuccessInit()
        Me.chkLstClientcodes.DataSourceID = "clientcodes"
    Else
        btnLogin.Text = "Login"
        PanelLogin.BackColor = Drawing.Color.LightSalmon
        txtStatus.Text = "Not Logged In!!!"
    End If
    'Me.Page.Controls.Clear()
End 

    Sub

person Andrew McLintock    schedule 24.04.2012    source источник


Ответы (1)


Я добавил логику в базовый SQL, который поднимал флаг, если строка действительна в контексте отчета. Условное форматирование проверило на это и изменило цвет.

person Andrew McLintock    schedule 02.05.2012