使用文本框的值作为chklistbox的数据源的参数

时间:2012-04-24 09:59:33

标签: asp.net vb.net sql-server-2005 datasource checklistbox

我有一个登录面板,其中包含userloginID的文本框。单击登录按钮时,数据源应该在文本框中选取valkue,并根据userloginID文本框中的值将过滤后的数据提供给chklistbox。

我只在点击登录按钮时将数据源连接到chklistbox,但应用程序仍然是fal; ls over the folowing message:

  

当参数'UserLogin'的Type属性时,无法设置   DbType属性已设置。描述:发生了未处理的异常   在执行当前Web请求期间。请查看   堆栈跟踪以获取有关错误及其位置的更多信息   起源于代码。

     

异常详细信息:System.InvalidOperationException:Type属性   当DbType属性为时,无法设置参数'UserLogin'   集。

     

来源错误:

     

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

     

堆栈追踪:

     

[InvalidOperationException:参数'UserLogin'的Type属性   设置DbType属性时无法设置。]
  System.Web.UI.WebControls.Parameter.GetValue(Object value,Boolean   ignoreNullableTypeChanges)+1751307
  System.Web.UI.WebControls.ParameterCollection.GetValues(HttpContext的   上下文,控制控制)+301
  System.Web.UI.WebControls.SqlDataSourceView.InitializeParameters(的DbCommand   command,ParameterCollection参数,IDictionary exclusionList)   +264 System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments   参数)+472
  System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e)+95
  System.Web.UI.WebControls.ListControl.PerformSelect()+34
  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.ListControl.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,Boolean 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

1 个答案:

答案 0 :(得分:0)

如果行在报告的上下文中有效,我向基础SQL添加了逻辑,该SQL引发了一个标志。为此测试了条件格式并更改了颜色。