将动态字符串参数放入下拉菜单服务器控件中

本文关键字:下拉菜单 服务器控件 动态 字符串 参数 | 更新日期: 2023-09-27 18:20:12

我是.net/c#和visualstudio的新手。我一直在网上寻找答案,但找不到。谢谢你的帮助。

我正在从数据库表中填充一个下拉列表,我想将一个动态参数传递给asp服务器控件(登录人员的用户名)。我想放这个动态字符串的两个区域我添加了put_LOGGED_IN_USERNAME_HERE".

<asp:DropDownList ID="DropDownList1" runat="server" 
    DataSourceID="SqlDataSource1" DataTextField="Name" DataValueField="PK_Task" AppendDataBoundItems="true">
    <asp:ListItem Selected="True">Supportive</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ApplicationServices %>" 
    SelectCommand="SELECT [PK_Task], [Name] FROM [Task] WHERE ([PointPerson] LIKE '%' + @PointPerson + '%') AND [Status] LIKE 'Done'">
    <SelectParameters>
        <asp:QueryStringParameter DefaultValue="PUT_LOGGED_IN_USERNAME_HERE" Name="PointPerson" 
            QueryStringField="PUT_LOGGED_IN_USERNAME_HERE"" Type="String" />
    </SelectParameters>
</asp:SqlDataSource>

我该如何做到这一点?

我找到了显示用户名的代码:

<%= Page.User.Identity.Name %>

然而,当我使用它时,它不起作用,如图所示:

<asp:QueryStringParameter DefaultValue="<%= Page.User.Identity.Name %>" Name="PointPerson" 
     QueryStringField="<%= Page.User.Identity.Name %>"" Type="String" />

将动态字符串参数放入下拉菜单服务器控件中

您可以访问SqlDataSource的属性,包括代码隐藏中的参数,例如:

SqlDataSource1.SelectParameters["PointPerson"].DefaultValue = "User";