根据登录的用户更改SqlDataSource SelectCommand

时间:2017-02-07 03:43:00

标签: html asp.net vb.net sqldatasource

我有一个SqlDataSource,但查询需要根据登录用户进行更改。

<asp:SqlDataSource ID="SqlDataSource1" runat="server" SelectCommand="SELECT [id], [text] FROM [tblLinks]"

伪代码:

If user = "john.doe"
Then SelectCommand="SELECT [id], [text] FROM [tblLinks] WHERE text <> 'Admin'"
Else 
SelectCommand = "SELECT [id], [text] FROM [tblLinks]"

这是获取当前登录用户的代码:

System.Web.HttpContext.Current.User.Identity.Name.Split("\\").Last()

2 个答案:

答案 0 :(得分:0)

您可以更改SelectCommand属性,就像更改代码中的任何其他属性一样......

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

    If (user = "john.doe") Then
        SqlDataSource1.SelectCommand = "SELECT [id], [text] FROM [tblLinks] WHERE text <> 'Admin'"
    Else
        SqlDataSource1.SelectCommand = "SELECT [id], [text] FROM [tblLinks]"
    End If

End Sub

答案 1 :(得分:0)

如果这有帮助,我认为如果您查看

,这是最好的
select...case statement

https://msdn.microsoft.com/en-us/library/cy37t14y.aspx