SqlDataSource Параметр Проблема - Использование loginName1 в качестве параметра sql - PullRequest
1 голос
/ 03 июля 2011

Я пытаюсь получить информацию о базе данных, относящуюся к текущему вошедшему в систему пользователю.

Следующие 3 строки сообщают мне, что переменная var1 правильна (как она отображается на странице)

Dim var1 As String<Br>
var1 = LoginName1.Page.User.Identity.Name<br>
Response.Write(var1)

Но, когда я пытаюсь использовать var1 в качестве параметра, он не работает .... просто удивляюсь, чего мне не хватает.

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
        SelectCommand="SELECT aspnet_Clubs.ClubName FROM aspnet_Clubs INNER JOIN aspnet_Users ON aspnet_Clubs.ClubID = aspnet_Users.ClubLinkID WHERE (aspnet_Users.UserName = @var1 )">
    </asp:SqlDataSource>
    <asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" 
        BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" 
        CellPadding="2" DataSourceID="SqlDataSource1" ForeColor="Black" 
        GridLines="None" Height="50px" Width="274px">
        <AlternatingRowStyle BackColor="PaleGoldenrod" />
        <EditRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
        <Fields>
            <asp:BoundField DataField="ClubName" HeaderText="ClubName" 
                SortExpression="ClubName" />
        </Fields>
        <FooterStyle BackColor="Tan" />
        <HeaderStyle BackColor="Tan" Font-Bold="True" />
        <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" 
            HorizontalAlign="Center" />
    </asp:DetailsView>

Ответы [ 2 ]

1 голос
/ 03 июля 2011

Вы не устанавливаете значение параметра Select вашего SqlDataSource.

Вот краткий обзор с примерами кода работы с параметрами

0 голосов
/ 03 июля 2011

Вам необходимо определить параметр для SqlDataSource, а затем установить его.

т.е.

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
        SelectCommand="SELECT aspnet_Clubs.ClubName FROM aspnet_Clubs INNER JOIN aspnet_Users ON aspnet_Clubs.ClubID = aspnet_Users.ClubLinkID WHERE (aspnet_Users.UserName = @var1 )">

<SelectParameters>
<asp:Parameter Name="var1" Type="String" />
</SelectParameters>
    </asp:SqlDataSource>

и затем в Page_Load или аналогичном:

SqlDataSource1.SelectParameters("var1").DefaultValue = User.Identity.Name

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...