<asp:SqlDataSource ID="siteSource" runat="server" 
                    ConnectionString=" <%$ ConnectionStrings:gatherConnectionString %>" 
                    SelectCommand="SELECT [site_name], [site_id] FROM [gather_site]"> 
                </asp:SqlDataSource> 
放到ListView 外面

解决方案 »

  1.   

    还是不行,仍然提示那个错误,我修改过的代码是这样的
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="admintype.aspx.cs" Inherits="WebApplication1.admintype" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
        <link href="admin.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:Label ID="adminmenu" runat="server"></asp:Label>
        <div>
        
            <asp:ListView ID="ListView1" runat="server" DataKeyNames="type_id" 
                DataSourceID="typeSource" InsertItemPosition="LastItem">
                <LayoutTemplate>
                    <div ID="itemPlaceholderContainer" runat="server" style="">
                    <dl class="tile">
                        <span style="" >
                        type_name: <span ID="itemPlaceholder" runat="server"></span>
                        <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="清除" />
                        <br />
                        <br />
                        </span>
                        </dl>
                    </div>
                </LayoutTemplate>
                <InsertItemTemplate>
                    <asp:TextBox ID="type_nameTextBox" runat="server" 
                        Text='<%# Bind("type_name") %>'></asp:TextBox>
                    <br />
                    <span>
                    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
                        DataSourceID="siteSource" DataTextField="site_name" DataValueField="site_id" 
                        SelectedValue='<%# Bind("type_siteid") %>' style="margin-top: 0px">
                    </asp:DropDownList>
                    </span>
                    <br />
                    <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="插入" />
                </InsertItemTemplate>
                <EmptyDataTemplate>
                    <span>未返回数据。</span>
                </EmptyDataTemplate>
                <EditItemTemplate>
                    <span style="">type_id:
                    <asp:Label ID="type_idLabel1" runat="server" Text='<%# Eval("type_id") %>' />
                    <br />
                    type_name:
                    <asp:TextBox ID="type_nameTextBox" runat="server" 
                        Text='<%# Bind("type_name") %>' />
                    <br />
                    type_siteid:
                    <asp:TextBox ID="type_siteidTextBox" runat="server" 
                        Text='<%# Bind("type_siteid") %>' />
                    <br />
                    <asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="更新" />
                    <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="取消" />
                    <br />
                    <br />
                    </span>
                </EditItemTemplate>
                <ItemTemplate>
                <dd>
                <asp:Label ID="type_nameLabel" runat="server" Text='<%# Eval("type_name") %>' />
                <br />
                <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" />
                <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="删除" />
                </dd>
                </ItemTemplate>
            </asp:ListView>
            <asp:SqlDataSource ID="typeSource" runat="server" 
                ConnectionString="<%$ ConnectionStrings:gatherConnectionString %>" 
                DeleteCommand="DELETE FROM [gather_type] WHERE [type_id] = @type_id" 
                InsertCommand="INSERT INTO [gather_type] ([type_name], [type_siteid]) VALUES (@type_name, @type_siteid)" 
                SelectCommand="SELECT * FROM [gather_type]" 
                UpdateCommand="UPDATE [gather_type] SET [type_name] = @type_name, [type_siteid] = @type_siteid WHERE [type_id] = @type_id">
                <DeleteParameters>
                    <asp:Parameter Name="type_id" Type="Int32" />
                </DeleteParameters>
                <UpdateParameters>
                    <asp:Parameter Name="type_name" Type="String" />
                    <asp:Parameter Name="type_siteid" Type="Int32" />
                    <asp:Parameter Name="type_id" Type="Int32" />
                </UpdateParameters>
                <InsertParameters>
                    <asp:Parameter Name="type_name" Type="String" />
                    <asp:Parameter Name="type_siteid" Type="Int32" />
                </InsertParameters>
            </asp:SqlDataSource>
                        <asp:SqlDataSource ID="siteSource" runat="server" 
                        ConnectionString="<%$ ConnectionStrings:gatherConnectionString %>" 
                        SelectCommand="SELECT [site_name], [site_id] FROM [gather_site]">
                    </asp:SqlDataSource>
        </div>
        </form>
    </body>
    </html>