发射数据源

时间:2013-11-21 17:48:02

标签: asp.net vb.net drop-down-menu datasource

在我的表格上,我有一个包含员工姓名的下拉列表。我有一个绑定到下拉列表的数据源,所以当你打开表单时,用户会自动填写。在下拉列表上方我有链接按钮(AZ)onClick他们应该通过另一个数据源过滤在下拉列表中按字母和输出过滤的sp。我知道onClick正在激活,但下拉列表没有被新数据填充。任何建议或帮助将不胜感激。 每个linkBut​​ton x26的代码

<asp:LinkButton ID="LinkA" runat="server" CausesValidation="False" 
          Font-Size="Small" ForeColor="#0B446A" Text="A" Font-Underline="True" 
          OnClick="link_click" Font-Bold="True"></asp:LinkButton>

背后的代码

Protected Sub link_click(ByVal sender As Object, _
             ByVal e As System.EventArgs) 
    ColorReset()
    Dim link As LinkButton = sender
    Session("filterletter") = link.Text
    Session("linkclick") = "yes"
End Sub

Datasource1

<asp:SqlDataSource ID="SqlDataSource3" runat="server" 
                    ConnectionString="<%$ ConnectionStrings:RequestSystemConnectionString %>" 
                    SelectCommand="userinfo" SelectCommandType="StoredProcedure">
                    <SelectParameters>
                        <asp:SessionParameter Name="user" SessionField="user" Type="Int32" />
                    </SelectParameters>

                </asp:SqlDataSource>

Datasource2

    ConnectionString="<%$ ConnectionStrings:RequestSystemConnectionString %>" SelectCommand="current_employees_byletter" 
                SelectCommandType="StoredProcedure" >
                    <SelectParameters>
                        <asp:SessionParameter Name="letter" SessionField="filterletter" Type="String" />
                    </SelectParameters>
                </asp:SqlDataSource>

数据源1代码

If Page.IsPostBack = False Then
        Dim dv As New DataView
        dv = SqlDataSource1.Select(DataSourceSelectArguments.Empty) 

DropDownList1.SelectedValue = Trim(dv.Item(0).Item(“userid”)。ToString)             TextBox1.Text = DropDownList1.SelectedValue.ToString

2 个答案:

答案 0 :(得分:0)

经过几个小时的尝试,我想出了如何将下拉列表连接到不同的数据源。感谢所有观看和评论过的人。最终,我为preRenderComplete中的每个数据源创建了数据视图。

答案 1 :(得分:0)

您应该只能在链接点击事件中更改DropDownList的数据源目标:

Protected Sub link_click(ByVal sender As Object, ByVal e As System.EventArgs) 
    ColorReset()
    Dim link As LinkButton = sender
    Session("filterletter") = link.Text
    Session("linkclick") = "yes"
    ' Update the "DataSourceID" field to be the ID of your other datasource
    DropDownList1.DataSourceID = dsEmpByLetter
End Sub

注意:如果您尚未完成,则应将DropDownList的“DataTextField”和“DataValuefield”属性设置为数据源中相应的列名。