Проблема с GridViewControl - PullRequest
1 голос
/ 02 июля 2011
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div>
    <asp:GridView ID="GridView1" runat="server" Height="464px" Width="743px" 
        AutoGenerateColumns="False" EmptyDataText="No Rows Selected" 
        DataSourceID="Answered" 

        style="z-index: 1; left: 327px; top: 334px; position: absolute; height: 464px; width: 743px">
        <Columns>
            <asp:BoundField DataField="ThreadTitle" HeaderText="ThreadTitle" 
                SortExpression="ThreadTitle" />
        </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="Answered" runat="server" 
        ConnectionString="<%$ ConnectionStrings:CP_AllQuestionsAnswered %>" SelectCommand="SELECT ThreadTitle
FROM Threads AS t
INNER JOIN Users AS u ON  t.UsersID=u.UsersID
WHERE t.UsersID=@UserID">
        <SelectParameters>
            <asp:Parameter Name="UserID" />
        </SelectParameters>
    </asp:SqlDataSource>
  </div>
</asp:Content>

Файл кода:

protected void Page_Load(object sender, EventArgs e)
{
    MembershipUser CurrentUser = Membership.GetUser();
    Guid userid = (Guid)CurrentUser.ProviderUserKey;
    Answered.SelectParameters.Add("UserID", userid.ToString().Trim());
}

Когда я изменяю источник данных сетки, я пишу свой запрос и проверяю его с определенной сеткой, и он дает ожидаемые результаты.Но когда я запускаю сетку, все, что я получаю, это «Пустые строки».Почему это?!?

1 Ответ

2 голосов
/ 02 июля 2011

Полагаю, это так: в вашем Page_Load вы постоянно добавляете новый параметр в ваш источник данных SQL, даже если этот параметр уже определен.

Попробуйте вместо этого- установка значения существующего параметра:

protected void Page_Load(object sender, EventArgs e)
{
   MembershipUser CurrentUser = Membership.GetUser();
   Guid userid = (Guid)CurrentUser.ProviderUserKey;
   Answered.SelectParameters["UserID"].DefaultValue = userid.ToString().Trim();
}

Это что-то меняет?

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