Ошибка в привязке данных SqlDataSource к GridView - PullRequest
0 голосов
/ 17 февраля 2012

Я получаю эту ошибку:

Методы привязки данных, такие как Eval (), XPath () и Bind (), могут быть только используется в контексте элемента управления с привязкой к данным.

Я пытаюсь связать результаты SqlDataSource с GridView.

Это код:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    DataSourceID="grid_getbranch" Height="111px" Width="91px">
    <Columns>
        <asp:TemplateField HeaderText="branch" SortExpression="branch">
            <EditItemTemplate>
                <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("branch") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="Label1" runat="server" Text='<%# Bind("branch") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="name" SortExpression="name">
            <EditItemTemplate>
                <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("name") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="Label2" runat="server" Text='<%# Bind("name") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
<asp:SqlDataSource ID="grid_getbranch" runat="server" 
    ConnectionString="<%$ ConnectionStrings:svpolyConnectionString %>" 
    SelectCommand="SELECT branch.branch, course.name FROM branch INNER JOIN course ON branch.c_id = course.id WHERE (branch.c_id = @c_id)">
    <SelectParameters>
        <asp:ControlParameter ControlID="DropDownList2" Name="c_id" 
            PropertyName="SelectedValue" />
    </SelectParameters>
</asp:SqlDataSource>

Ответы [ 2 ]

0 голосов
/ 24 февраля 2012

Удалить привязку к полю метки.

Также см. Этот вопрос Как «связать» свойство Text метки в разметке

0 голосов
/ 17 февраля 2012

Можете ли вы попробовать изменить запрос SelectCommand на:

SELECT branch.branch AS branch, course.name AS name FROM branch INNER JOIN course ON branch.c_id = course.id WHERE (branch.c_id = @c_id)

Я не уверен, что это является причиной вашей ошибки, но это первое, что я попробую.

...