我是.net / c#和visual studio的新手。我一直在互联网上寻找答案,但找不到它。谢谢你的帮助。
我正在从数据库表中填充下拉列表,我想将动态参数传递给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" />
答案 0 :(得分:1)
您可以访问SqlDataSource的属性,包括后面代码中的参数,如下所示:
SqlDataSource1.SelectParameters["PointPerson"].DefaultValue = "User";